0

カスタムロールプロバイダーを実装しています。次の関数でいくつかの追加データにアクセスする必要がありますが、それが可能かどうかはわかりません。CustomRoleProviderクラスをコードでインスタンス化し、追加のデータを渡すためにいくつかのプロパティを設定する方法はありますか?それが不可能な場合、カスタムの役割管理を実現するために他にどのような選択肢がありますか?ご入力いただきありがとうございます。

public class CustomRoleProvider : RoleProvider
{
    public override string[] GetRolesForUser(string username)
    { }

    public override bool IsUserInRole(string username, string roleName)
    { }
}
4

1 に答える 1

1

依存性注入を使用して、構成の依存性を注入できます。何かのようなもの:

public class CustomRoleProvider : RoleProvider
{
   [Dependency]    
   public IRoleProviderConfig Config { get; set; }

   public override string[] GetRolesForUser(string username)
   { 
       int value = Config.GetXyz();
   }

   public override bool IsUserInRole(string username, string roleName)
  { }
}

依存性注入の詳細については、http: //blogs.microsoft.co.il/blogs/gilf/archive/2010/10/17/dependency-injection-in-mvc-3-was-made-easier.aspxをご覧ください。

于 2012-12-14T22:27:13.107 に答える