1

私はAsp.Net MVC 5プロジェクトで、独自の個別ユーザーアカウントテンプレートを使用しています。私はユーザーの役割を設定しました。私は特定のアクションメソッドのための特定の役割だけを許可しました。しかし、問題は、たとえ私がログインしていても、特定のアクションメソッド(例えばdeleteメソッド)へのアクセス権を持たないロールで、私はログインページに移動します。だから私はすでにログインしている間に他のユーザとログインすることができ、これは意味をなさない。この方法で認証フィルタを処理するのはなぜですか?Asp.Net MVC 5でアクセス拒否エラーページを設定するには?

ログインページに移動してカスタムエラーを表示する代わりに、アクセス拒否ビューを表示するにはどうすればいいですか?

私は同様の質問からの回答からこれを解決しようとしていますが、私はどこにもいません!

+0

を使用すると、この[解答](http://stackoverflow.com/a/977112/829997を)見てきた場合は知っているが、それは私を助けてはいけません。 [これ](http://dotnetdevdude.com/Blog/2011/11/21/ASPNETMVCRedirectToCustomPageWhenUserIsNotAuthorized.aspx)もう一つの有用な1 –

+0

私はこれを見つけることができませんでした。私は答えと他のリンクをチェックしています – Arianit

+0

@LeeHarris私は他の問題、ランタイムエラー: '/ 'Application内のサーバーエラー'を取得するリンクをたどろうとすると' Description:リクエストを処理中に例外が発生しました。また、最初の例外のカスタムエラーページを実行中に別の例外が発生しました。リクエストは終了しました.'そして、URLパスは次のようになります:Shared/Error?aspxerrorpath =/Reports/delete/1 私を助けることができますか? – Arianit

答えて

2

ユーザーのセキュリティレベルに基づいてUIを変更する方法があります。あなたはこのようなもので、あなたの削除コール包むことができます:

@if (ViewContext.HttpContext.User.IsInRole("role name")) 
{ 
    // Authorized 
} 
関連する問題