引用当前的RoleProvider实例?

时间:2011-02-12 03:56:01

标签: c# asp.net roleprovider

当在ASP.NET页面,存在HttpContext的模块或处理程序内部时,如何获取对当前RoleProvider实例的引用?

调用IPrincipal.IsInRole(..)方法时,它是用于授权的提供程序。默认情况下,或者从配置中,我的提供程序似乎是SqlRoleProvider实例,当我运行应用程序时出现错误。

我想在运行时检查提供程序的类型,以提供有关实际使用哪个提供程序的反馈。

1 个答案:

答案 0 :(得分:30)

static Roles class上有一个Provider属性,您可以使用它来引用当前提供者。

Roles.Provider

如果您使用的是自定义RoleProvider,则可以将其强制转换以访问自定义功能。

((MyCustomRoleProvider)Roles.Provider).AllYourRoleAreBelongToUs();