2012-04-27 22 views
2

私はAsp.Net/C#を使用していますが、多くのページへのアクセスにはRolesベースの承認を使用しています。これまでは管理者ロール他のロールへのアクセスを拒否するには、Web.configファイルでこれを使用しています。Web.configファイル内に複数のページに複数の要素を追加する必要があります

<location path="CreateAccount.aspx"> 
    <system.web> 
     <authorization> 
     <allow roles="Admin"/> 
     <deny users="*"/> 
     </authorization> 
    </system.web> 
    </location> 

これは私が、私はページごとにlocation要素を追加する必要があることを管理したり、道around.Iがありますどのように、管理者の役割にのみアクセス可能な複数のページを追加し続ける将来的に想定、Page1のためのものです私はそれらをフォルダ内でグループ化し、そのWeb.configファイルを追加することができることを知っています。私は将来的に多くのページを追加すれば良いアプローチです。

ありがとうございます。

答えて

2

私はおそらく他の方法をとるでしょう - デフォルトでは、すべてのページは最高の制限レベル(おそらくadmin)にあり、他の人がアクセスできるホワイトリストを作成します。つまり、ページが追加され、設定が更新されない場合、誰も閲覧できないはずはありません。

これを実現する方法は:はい、サブディレクトリにweb.configを置くのが最も簡単な方法です。

+0

@richokellyあなたはページをまとめてグルーピングし、それらのためにweb.configファイルを追加する方が良い方法です。 – freebird

+0

@freebird私の経験では、これは開発者のオーバーヘッドを削減し、一般的に承認に関連して人々を「成功のピット」に陥れます。 –

関連する問題