私はASP.NET MVCコントローラ上でカスタム認可フィルタを使用しています。この認可フィルタは、ログイン画面以外のURLにユーザをリダイレクトします。ViewResult以外の結果を返すアクションに対する承認をどのように扱いますか?
これは、ビューを返すアクションでは問題ありませんが、多くのアクションがPartialResultやJsonResultなどの他の結果タイプを返します。
私の現在のフィルタは次のようになります。
< AuthorizeWithRedirect(役割:= "ServerAccess"、コントローラー:= "ホーム"、アクション:= "無断")>
これが示しますユーザーがServerAccessの役割にない場合は、/ Home/Unauthorizedにリダイレクトする必要があります。
他の人々がこれをどのように処理しているのか不思議です。これは、クライアントサイドのスクリプトAJAX呼び出しによってのみ呼び出されることが意図されているアクションの数を考慮する場合、特に問題があるようです。/home/Unauthorized/actionは、呼び出し元がビュー、部分ビュー、json、コンテンツなどを受け取るように意図されているかどうかをどのように知ることができますか?
最初のオプションは、ActionResultの各タイプ(UnauthorisedPartial、UnauthorisedJSON)に対するコントローラアクションを使用して、現在取っているルートです。それは私が1つの標準的なページを書いて、どの発信者にも返すことを可能にする。 – Nick