仕組みを知る必要がありますSiteMapProvider.IsAccessibleToUser()
。
フォーム認証の場合に使用する組み込みXmlSiteMapProvider
呼び出し。HttpContext.User.IsInRole()
System.Security.Principal.GenericPrincipal
現在のユーザーはどこで役割を取得しますか? この種の情報をロードするプロバイダーはどれですか? オーバーロードしてカスタム ロジックを使用したい。
仕組みを知る必要がありますSiteMapProvider.IsAccessibleToUser()
。
フォーム認証の場合に使用する組み込みXmlSiteMapProvider
呼び出し。HttpContext.User.IsInRole()
System.Security.Principal.GenericPrincipal
現在のユーザーはどこで役割を取得しますか? この種の情報をロードするプロバイダーはどれですか? オーバーロードしてカスタム ロジックを使用したい。
これを行うには、RoleProvider を実装します。これらのリンクをチェックしてください:
http://msdn.microsoft.com/en-us/library/8fw7xh74.aspx
http://www.codeproject.com/KB/aspnet/WSSecurityProvider.aspx
カスタム ロジックを使用するには、ロールを使用して独自のフォーム認証 Cookie を作成し、それを Global.asax で読み取ることができます。
これらを参照してください。
private void SetAuthenticationCookie(int employeeID, List<string> roles)
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
http://weblogs.asp.net/rajbk/archive/2010/04/01/securing-an-asp-net-mvc-2-application.aspx