是否可以将其他数据传递给MVC中的自定义RoleProvider?

时间:2012-12-14 22:14:00

标签: asp.net-mvc asp.net-mvc-3 roleprovider

我正在实现自定义角色提供程序。我需要访问以下功能中的一些其他数据,我不确定是否可行。有没有办法通过代码实例化CustomRoleProvider类并设置一些属性来传递其他数据?如果不可能,还有哪些其他替代方案可以实现自定义角色管理?感谢您的任何意见。

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

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

1 个答案:

答案 0 :(得分: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