更具体地说,c#ef4.0失败的原因是什么
我怎样才能更具体地说明什么是失败的ie,我怎样才能报告失败的用户名或密码,而不仅仅是报告失败 所以我可以返回用户名是正确的,但密码不是更具体地说,c#ef4.0失败的原因是什么,c#,winforms,entity-framework,entity-framework-4,C#,Winforms,Entity Framework,Entity Framework 4,我怎样才能更具体地说明什么是失败的ie,我怎样才能报告失败的用户名或密码,而不仅仅是报告失败 所以我可以返回用户名是正确的,但密码不是 //////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Validates the user. </summary> ///
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <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);
}
}
让用户知道用户名是正确的,但密码是不正确的,这是一种糟糕的安全做法。这使攻击者能够再次猜测密码 你为什么想要那样的东西?这可能会让一些攻击者找出你的用户名,然后,他/她可以为同一用户名尝试不同的密码。正如其他人所说,不要这样做。但是如果你确定了,你可以查询用户名,如果失败了,你知道用户名是错误的,如果成功了,那么检查密码。另外,请不要将密码存储为纯文本。