認証用のカスタム テーブルに接続するには、メンバーシップ プロバイダーを作成する必要があります。 MSDN には、この件に関するドキュメントがいくつかあります。また、ASP.NET で主題に関するビデオを表示することもできます。ここにリンクがあります。
- http://msdn. microsoft.com/en-us/library/f1kyba5e(v=vs.100).aspx
- http://www.asp.net/web-forms/videos/how-do-i/how-do-i-create-a-custom-membership-provider
検証の主なメソッドは 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