【发布时间】:2014-02-18 18:21:12
【问题描述】:
我怎样才能更具体地说明失败的原因,即我将如何报告用户名或密码失败,而不仅仅是报告失败。
所以我可以返回用户名正确但密码不正确
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <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);
}
}
【问题讨论】:
-
你为什么想要这样的东西?这可能会让一些攻击者找出您的用户名,然后他/她可以为同一个用户名尝试不同的密码。
-
正如其他人所说,不要这样做。但是如果你确定了,你可以查询用户名,如果失败则知道用户名错误,如果成功则检查密码
标签: c# winforms entity-framework entity-framework-4