私のタイトルの質問が明確でない場合は申し訳ありません。問題は、私のasp.netアプリケーションで、次のようにフォルダー「管理者」のweb.configを構成します。
<configuration>
<system.web>
<authorization>
<allow roles="Admin" />
<deny users="*"/>
</authorization>
</system.web>
</configuration>
私のデータベースには、3 つのフィールド (ユーザー名、パスワード、役割) を持つテーブル「アカウント」があります。次に、ログイン コントロールを使用して、コードを使用して "Admin" フォルダーのサイトにログインします。
protected void Login_Authenticate(object sender, AuthenticateEventArgs e)
{
if(checkUser(Login.Username, Login.Password))
e.Authenticated = true;
}
private bool checkUser(string username, string pass)
{
// Check username and pass against database....
}
ここでの問題は、ユーザーが「管理者」ロールを持っていることを web.config ファイルに伝える方法がわからないことです。データベースに複数のテーブルを自動的に生成する aspnet_regsql を使用してこの問題を解決し、Membership.ValidateUser を使用して正常にログインできます。しかし、これらの組み込みデータベースと機能を使用して地下で何が起こるかはわかりません。というわけで、上記のカスタムデータベースを使って解決できないかと。前もって感謝します。