ASP.NET MVCの[Authorize]
属性の実際の使用を理解するのは難しいです。コンセプトに従えば、[Authorize]
属性のコントローラーメソッドを装飾すると、認証されたユーザーだけがコントローラーにアクセスできます。ASP.NET MVCの属性の承認
私は[Authorize]
属性のコントローラーを装飾せずにASP.NET MVCアプリケーションを開発しました。私が見てきたことは、web.configなどのアプリケーションで認証メカニズムを適切に実装すると、特定のアクションメソッドのURL {controller}/{action}/{id}
にアクセスできるようになりました。
システムは常にログインを求めます。つまり、私のコントローラは安全です。私の質問は、[Authorize]
アトリビュートを使用せずにコントローラを保護することができるとき、それが本当に必要なのですか?
おかげ同じ制限が、私はそれらがコントローラによって返されるビューページのメンバシップとロールプロバイダを使用して、私のweb.configファイルを使用して課すことができます。私はこれに[Authosrize]属性を使用する必要はありません。 – techmad
@kaus - MVCアプリケーションでweb.configを使用すると、セキュリティ上の問題が発生する可能性があります。 authorize属性はASP.NETルーティングのすべてを考慮しますが、web.configではアプリ内のすべての可能なルーティング設定を把握して考慮する必要があります。あなたはそれをすべて考慮に入れているかもしれませんが、web.configとrouting.configを見て、それ以外のところを見ると確信できません。あなたが知っているクラスのAuthorize属性を見ることで、ルーティングに関係なく安全です。 – DarrellNorton