Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更具体地说,c#ef4.0失败的原因是什么_C#_Winforms_Entity Framework_Entity Framework 4 - Fatal编程技术网

更具体地说,c#ef4.0失败的原因是什么

更具体地说,c#ef4.0失败的原因是什么,c#,winforms,entity-framework,entity-framework-4,C#,Winforms,Entity Framework,Entity Framework 4,我怎样才能更具体地说明什么是失败的ie,我怎样才能报告失败的用户名或密码,而不仅仅是报告失败 所以我可以返回用户名是正确的,但密码不是 //////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Validates the user. </summary> ///

我怎样才能更具体地说明什么是失败的ie,我怎样才能报告失败的用户名或密码,而不仅仅是报告失败

所以我可以返回用户名是正确的,但密码不是

   ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>  Validates the user. </summary>
        ///
        /// <remarks>  Dave, 2/15/2014. </remarks>
        ///
        /// <exception cref="EntityContextException">  Thrown when an Entity Context error condition
        ///                                            occurs. </exception>
        ///
        /// <param name="username">    The username. </param>
        /// <param name="password">    The password. </param>
        ///
        /// <returns>  The NaviHrUsers. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public NaviHrUsers ValidateUser(string username, string password)
        {

            try
            {
                NaviHrUsers currentUser = naviEntities.NaviHrUsers.FirstOrDefault(r => r.login == username && r.password == password);

                if (currentUser != null)
                {
                    return currentUser;
                }

                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw new EntityContextException("ValidateUser failed.", ex);
            }
        }
////////////////////////////////////////////////////////////////////////////////////////////////////
///验证用户。
///
///Dave,2/15/2014。
///
///当实体上下文出现错误条件时引发
///发生。
///
///用户名。
///密码。
///
///Navihr用户。
////////////////////////////////////////////////////////////////////////////////////////////////////
公共NaviHrUsers ValidateUser(字符串用户名、字符串密码)
{
尝试
{
NaviHrUsers currentUser=naviEntities.NaviHrUsers.FirstOrDefault(r=>r.login==username&r.password==password);
如果(currentUser!=null)
{
返回当前用户;
}
其他的
{
返回null;
}
}
捕获(例外情况除外)
{
抛出新EntityContextException(“ValidateUser failed.”,ex);
}
}

让用户知道用户名是正确的,但密码是不正确的,这是一种糟糕的安全做法。这使攻击者能够再次猜测密码

你为什么想要那样的东西?这可能会让一些攻击者找出你的用户名,然后,他/她可以为同一用户名尝试不同的密码。正如其他人所说,不要这样做。但是如果你确定了,你可以查询用户名,如果失败了,你知道用户名是错误的,如果成功了,那么检查密码。另外,请不要将密码存储为纯文本。