2011-07-29 5 views
2

私はASP.NET認可モジュールを開発していますが、これまではMVCアプリケーションを使用するときれいに動作します。ASP.NETの所在地に必要な役割を検出するにはどうすればよいですか?

しかし、私の要件の1つは、あまりにも単純な古いASP.NETアプリケーションでも動作するということです。

これを行うには、ユーザーが任意のURLにアクセスするために必要な役割が何であるかを検出する必要があります。

たとえば、私たちはweb.configファイルを持っていることを想像:

web.configファイル自身を読ん以外
<location path="foo"> 
    <system.web> 
    <authorization> 
     <deny user="?"/> 
     <allow role="bar, superFoo"/> 
    </authorization> 
    </system.web> 
</location> 

、私はパスfoo役割barsuperFooが必要であることを検出することができますか?

私はIHttpModuleインターフェイスの実装を通じて役割の要件をチェックしています。 ASP.NET Webフォームアプリケーションの場合

答えて

3

UrlAuthorizationModule.CheckUrlAccessForPrincipalを使用すると、パスへのアクセス権限を確認できます。

CheckUrlAccessForPrincipal方法は 、現在のユーザーがアプリケーションのWeb.configファイル で要求されたファイルへのアクセスを許可されたかどうかをチェックします。

0

ユーザーが役割であるかどうかを確認するために役割クラスのGetRolesForUser()またはIsUserInRole(String)メソッドを呼び出す必要があります。

関連する問題