Reference current RoleProvider instance?

5.1k views Asked by At

When inside an ASP.NET page, module or handler with an HttpContext present, how do I get a reference to the current RoleProvider instance?

It's the provider used for authorization when the IPrincipal.IsInRole(..) method is called. By default, or from configuration, my provider seems to be a SqlRoleProvider instance by an error given when I'm running the app.

I want to inspect the type of provider at runtime to provide feedback on which one is actually being used.

1

There are 1 answers

1
Josh On BEST ANSWER

The static Roles class has a Provider property on it which you can use to reference the current provider.

Roles.Provider

and if you are using a custom RoleProvider, you can cast it in order to access custom functionality.

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