2012-01-06 8 views
2

私はweb.configファイルなどのコードに設定した場合:ユーザーの役割の不一致に関するエラーをスローする方法は?

<location path="SomeFolder/SimePage.aspx"> 
    <system.web> 
     <authorization> 
      <allow roles="Role1" /> 
      <allow roles="Role2" /> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</location> 

、間違った役割を持つユーザーがSomeFolder/SimePage.aspxに来るとき、その後、彼は、ログインページが表示されます。しかし、彼の間違った役割について彼に通知するカスタムエラーをどうやって投げることができますか?

答えて

1

まず、不適切な役割についてユーザーに通知する適切なメッセージを含むカスタムエラーページを作成します。次に、制限するページのコードビハインドを開いて、最終的にカスタムエラーを表示し、ページイベントとイベントロードを選択します。保護されたサブをPage_Loadで、次のコードを使用する場合:

If Not (User.IsInRole("Role1") Or User.IsInRole("Role2")) Then 
    Response.Redirect("Path/To/Folder/CustomError.aspx") 
End If 

を今、たびにユーザーがこれらの役割の一つになりません、彼/彼女は、カスタムエラーページを取得します。

うまくいけば、これは役に立ちます。

関連する問題