更具体的是c#ef4.0失败了

时间:2014-02-18 18:21:13

标签: c# winforms entity-framework entity-framework-4

我怎样才能更具体地了解已经发生的事情,即如何报告用户名或密码失败而不仅仅是报告失败。

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

   ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <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);
            }
        }

1 个答案:

答案 0 :(得分:2)

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