シナリオは次のとおりです。
私は vs2005 と sql server2005 で役割ベースのプロジェクトに取り組んでいます。データベースでロールを定義し、カスタム ロール プロバイダーを追加しました。「管理者」と「ユーザー」のような 2 つの役割があります。プロジェクトに 2 つのフォルダーを作成し、役割に従ってこれらのフォルダー (管理者とユーザー) にページを配置しました。ここで、ロールに従ってページにアクセスするためのコードを web.config に追加したいと思います。これは、管理者が管理フォルダー ページのみを表示し、ユーザーがユーザー フォルダー ページのみを表示できることを意味します。
役割の承認を持つタグで、管理者用に 1 つのページとユーザー用に 1 つのページのみを定義すると、それらは正常に機能します。ただし、両方のフォルダーで複数のページを使用した場合は、両方の web.config ファイルですべてのページを定義する必要があります。
このようなロケーションタグを使用しました
<location path="user/userpage1.aspx">
<system.web>
<authorization>
<allow roles="user"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
タグ内のページの代わりにフォルダの役割を割り当てる可能性はありますか? はいの場合、これを実装するための貴重なアイデアを教えてください。
更新この 2 つのロケーションタグを Web 構成 に追加しました
<!--allow admin role members-->
<location path="admin/adminpage1.aspx">
<system.web>
<authorization>
<allow roles="admin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<!--allow user role members-->
<location path="user/userpage1.aspx">
<system.web>
<authorization>
<allow roles="user"/>
<deny users="*"/>
</authorization>
</system.web>
</location>