问题
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:
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();
来源:https://stackoverflow.com/questions/4976215/reference-current-roleprovider-instance