2011-05-09 70 views
0

我有一个表用户存储三个值,即用户名,密码和成员类型。我想确保存储在表中的用户名是唯一的,因此有一个主键。但是我想在客户端本身进行验证,而不是向数据库发送插入请求,然后捕获错误。如何检索使用实体框架的特定记录

那么,如何从数据库中检索包含用户名和密码的单个记录,以便我可以将其用于代码中的比较目的,然后在需要时引发验证错误。

我的经理要我用存储过程,以便沿着这些线路的投入将是巨大的

+2

我_hope_说这是一个密码散列** **,而且它包括盐或(更好的)使用'bcrypt '。 – SLaks 2011-05-09 22:08:52

+0

为什么不使用内置的ASP.NET成员资格功能?它甚至使用存储过程来处理它所做的一切! – 2011-05-09 22:10:46

+0

@ SLaks,密码使用SHA1身份验证散列,我打算检索密码并将其与散列用户输入的密码进行匹配,前提是我已验证用户存在于数据库中,我正在努力做的事是获取该特定用户id @Joel C我工作的人不希望我使用内置的asp.net成员资格功能,因此需要自定义的功能。 – 2011-05-09 22:21:54

回答

0
public static bool IsUserExists(string userName, string hashedPassword) 
{ 
    bool result = false; 

    using (MyEntities entityContext = new MyEntities()) 
    { 
    result = (entityContext.User.Count(u => u.username == userName && 
              u.password == hashedPassword) == 1); 
    } 

    return result; 
}