私は、選択に応じて(同じスキーマを使用して)複数のデータベースのうちの1つに接続できるようにするASP.NET MVC Appを構築しています。ユーザーはログインする前にデータベースを選択し、そのデータベースに対して認証されます。複数のロールプロバイダを持つ属性の承認
私はweb.configにいくつかのロールプロバイダを追加しました。それぞれは利用可能なデータベースのそれぞれに対応する異なる接続文字列を持ちます。
私はRoles.providersコレクションとロールプロバイダにアクセスすることができますが、私は、私はプロバイダが私のコントローラで[承認]属性によって、ユーザ私のコントローラされている役割を選択することができますどのように理解していないことを理解し
namespace MyApp.Controllers
{
[Authorize(Roles = "admin")]
public class AdminController : Controller
{
これは、デフォルトロールプロバイダに対してユーザーロールをチェックすると仮定します。 [Authorize]属性に使用するロールプロバイダを実行時にどのように選択できますか?
filterContext.ActionDescriptor.ActionName!= "InsufficientPrivileges"?さもなければリダイレクトループ。 anonの役割は何ですか?匿名? – Mzn
'!='をうまくキャッチします。それは修正されました。はい、「anon」は「匿名」です。私はなぜそれを含めたのか覚えていない(私はこれを3年前に答えた!)。 –