您需要创建一个成员资格提供程序以连接到您的自定义表以进行身份验证。MSDN 有一些关于这个主题的文档。您还可以在 ASP.NET 上观看有关该主题的视频。这是链接。
验证的主要方法将是 ValidateUser 方法,您将覆盖此方法以提供身份验证。
public sealed class CustomMembershipProvider : MembershipProvider
{
// implement other methods
public override bool ValidateUser(string username, string password)
{
try
{
var user = // GET USER OBJECT HERE
if (user != null)
{
string name = // set username
// Set your forms authentication ticket
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, user.ID.ToString(), DateTime.Now, DateTime.Now.AddMinutes(30), false, name, FormsAuthentication.FormsCookiePath);
HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));
HttpContext.Current.Response.Cookies.Add(authCookie);
return true;
}
}
catch
{
}
return false;
}
// Other implementations
}
如果您的应用程序中有角色,您可能还希望实现自定义角色提供程序:
http://msdn.microsoft.com/en-us/library/8fw7xh74(v=vs.100).aspx