Asp.net mvc 3 使用成员资格提供程序验证用户
我正在自定义应用程序Asp.net MVC 3中用户的验证形式 如何实现ValidateUser方法 我的问题是MembershipUser类的密码,我还自定义了该类的密码属性 我使用的是EF CodeFirst。。以下代码: 会员资格用户 会员资格提供者Asp.net mvc 3 使用成员资格提供程序验证用户,asp.net-mvc-3,razor,forms-authentication,membership-provider,custom-membershipprovider,Asp.net Mvc 3,Razor,Forms Authentication,Membership Provider,Custom Membershipprovider,我正在自定义应用程序Asp.net MVC 3中用户的验证形式 如何实现ValidateUser方法 我的问题是MembershipUser类的密码,我还自定义了该类的密码属性 我使用的是EF CodeFirst。。以下代码: 会员资格用户 会员资格提供者 请问,是否有一篇关于此类实现的完整文章?我没有完整的示例,但这对您不起作用吗 public class UserProvider : MembershipProvider { public override bool Validate
请问,是否有一篇关于此类实现的完整文章?我没有完整的示例,但这对您不起作用吗
public class UserProvider : MembershipProvider
{
public override bool ValidateUser(string email, string password)
{
var bytes = new ASCIIEncoding().GetBytes(password);
var encryptedPassword = EncryptPassword(bytes);
var user = db.Users.FirstOrDefault(x =>
x.EmailAddress == emailAddress && x.Password == encryptedPassword);
return user != null;
}
}
EncryptPassword返回数据库中字节[]的数组,但它是一个字符串。能否在将用户添加到数据库的位置添加代码?
public class UserProvider : MembershipProvider
{
public override bool ValidateUser(string email, string password)
{
var bytes = new ASCIIEncoding().GetBytes(password);
var encryptedPassword = EncryptPassword(bytes);
using (var db = new DataContext())
{
var user = from u in db.Users
where u.Email == email
/* How to compare password? */
}
}
}
public class UserProvider : MembershipProvider
{
public override bool ValidateUser(string email, string password)
{
var bytes = new ASCIIEncoding().GetBytes(password);
var encryptedPassword = EncryptPassword(bytes);
var user = db.Users.FirstOrDefault(x =>
x.EmailAddress == emailAddress && x.Password == encryptedPassword);
return user != null;
}
}