ASP.NET MVCを既存のWebFormsアプリケーションに追加しています。当分、私はこの部分が既存のコード(フォーム認証)によって処理されるため、認証/ログインについては気にしません。ASP.NET MVC3の権限ベースの承認
既存のWebFormsアプリケーションでは、ページごとに完全なカスタム権限ベースの承認があります。したがって、各ユーザーには、アクセスを許可されているページをリストした一連の権利があります。
これで、同じアクセス権システムを使って特定のMVCコントローラとアクションへのアクセスを制限する方法を決定する必要があります。
私が理解しているように、ASP.NET MVCの場合は、ロールを指定できる標準AuthorizeAttributeが標準で用意されています。私はまた、指定の権限の代わりの役割を示唆していくつかの記事を見つけた - それは、このような何かをすることが可能です:
[CustomAuthorize(Roles = "View products, Edit products")]
AuthorizeAttributeを拡張することにより、また、私は保存し、アクセス権限を定義することができます。
このソリューションは私にとっては受け入れられます(ただし、役割のセマンティクスを変更すると少し匂いがあります)。
しかし、それをコミットする前に、他にどのようなオプションがあるのかを見たいと思います。そして、それは私が立ち往生したところです - 私は、ASP.NET MVCでの認証に関するさまざまなアプローチの完全な概要を見つけていません。また、フォーム認証、メンバーシッププロバイダ、認可属性、IPrincipalなどのセキュリティの概念が互いにどのように関係していて、どのように連携して動作するのかを知りたいと思います。
これは、ここで試されたものに似ていますか?私が理解する限り、それは似ています:http://stackoverflow.com/questions/10338734/custom-security-scenario-in-asp-net-mvc/ – antijon
@antijonカスタムAuthorizeAttributeを実装します。しかし、私は他の選択肢とその長所と短所についてより詳細に調べたいと思います。 –