2009-08-06 17 views
3

私はカスタムロールプロバイダを作成しています。web.configに格納されている認証情報にプログラムでアクセスする必要があります。 サイトの特定のセクションは、特定のロールによってのみアクセス可能です。どのロールがページにアクセスできるか、特定のロールがどのページにアクセスできるかを知りたい。web.configでの認証情報へのアクセス

私はこれを理解できないようです。

答えて

8

System.Web.Security名前空間のWebConfigurationManagerクラスによって、ConnectionStrings、AppSettings、およびその他の定義された値などのweb.configに格納されている情報にアクセスできます。

のは、あなたが定義したとしましょうと認可部として:(

<system.web> 
<authorization> 
    <allow roles="admin,moderator" /> 
    <deny users="?" /> 
</authorization></system.web> 

作成したばかりのセクションみんなを内のページにアクセスし、拒否することができ管理および/またはモデレータを役割があるユーザーを意味し、匿名)がログイン情報なしでアクセスしようとします。それに順に

は、ちょうどあなたが探しているものを正確である Rulesコレクションを与える

AuthorizationSection auth = WebConfigurationManager.GetSection("system.web/authorization") as AuthorizationSection; 

AuthorizationSectionクラスとしてWebConfigurationManagerのGetSectionメソッドを呼び出します。

+0

'AuthenticationSection'オブジェクトで' Rules'コレクションが見つかりません...? – awe

+0

AuthorizationSectionにはRulesコレクションがあります。 私はクラスの名前を間違って綴りました。それはAuthenticationSectionではなくAuthorizationSectionですが、私が投稿したエラーを確認するために投稿を編集しました。私に気付いてくれてありがとう。 – Myra

関連する問題