IIS 7 以降で ASP.Net Web フォーム アプリを実行しています。現在、アプリ全体は、IIS を介して web.config で構成された Windows 認証と URL 承認を使用して保護されています。.NET はユーザーが誰であるかを気にしません。現時点では、プロファイルやロールなどはありません。
<system.web>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" roles="AppXUsers" />
<deny users ="?" />
</authorization>
</system.web>
ユーザーのサブセットがアクセスできるページを (サブフォルダーに) 追加したいので、web.config を次のように変更します。
<location path="mySubFolder">
<system.web>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" roles="AppXPowerUsers" />
<deny users ="?" />
</authorization>
</system.web>
</location>
その後、クライアントは必要に応じて自由に AD グループを追加または削除できます。ただし、現状では、AppXUsers グループに属しているが AppXPowerUsers グループに属していないユーザーには、mySubFolder 内のページへのリンクが表示されます。リンクをクリックすると、当然のことながらアクセスが拒否されます。
現在のユーザーが「mySubFolder」にアクセスできるかどうかを検出する方法はありますか?
この段階で User/RoleManagement を導入するのは少しやり過ぎだと思います。アプリケーションはユーザーに関連する情報を保存する必要がなく、ユーザーが「このページにアクセスできるかどうか」を超えて誰であるかは気にしません。これは現在 IIS の段階で処理されます。