我正在实现自定义MembershipProvider,我正在尝试使用ValidateUser
方法来验证SQL Server中的Profiles
表。此表包含名为UserName
和Password
的列。
public override bool ValidateUser(string username, string password)
{
??? what to do here???
}
仅供参考,我正在使用MVC3& EF 4.1 Code First。
谢谢
保
答案 0 :(得分:2)
如果您使用的是EF 4.1,那么您将拥有某种DbContext
对象,其中包含DbSet
表的Profiles
- 对吧?
所以在这种情况下,请使用:
public override bool ValidateUser(string username, string password)
{
using(DbContext yourCtx = new DbContext())
{
// from your "Profiles" DbSet, retrieve that single entry which
// matches the username/password being passed in
var profile = (from p in yourCtx.Profiles
where p.UserName == username && p.Password == password
select p).SingleOrDefault();
// if that query returns a "Profile" (is != null), then your
// username/password combo is valid - otherwise, it's not valid
return (profile != null);
}
}