RoleProvider Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Defines the contract that ASP.NET implements to provide role-management services using custom role providers.

Namespace:   System.Web.Security
Assembly:  System.Web.ApplicationServices (in System.Web.ApplicationServices.dll)

public abstract class RoleProvider : ProviderBase


Initializes a new instance of the RoleProvider class.


Gets or sets the name of the application to store and retrieve role information for.


Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).(Inherited from ProviderBase.)


Gets the friendly name used to refer to the provider during configuration.(Inherited from ProviderBase.)

System_CAPS_pubmethodAddUsersToRoles(String[], String[])

Adds the specified user names to the specified roles for the configured applicationName.


Adds a new role to the data source for the configured applicationName.

System_CAPS_pubmethodDeleteRole(String, Boolean)

Removes a role from the data source for the configured applicationName.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodFindUsersInRole(String, String)

Gets an array of user names in a role where the user name contains the specified user name to match.


Gets a list of all the roles for the configured applicationName.


Serves as the default hash function. (Inherited from Object.)


Gets a list of the roles that a specified user is in for the configured applicationName.


Gets the Type of the current instance.(Inherited from Object.)


Gets a list of users in the specified role for the configured applicationName.

System_CAPS_pubmethodInitialize(String, NameValueCollection)

Initializes the configuration builder.(Inherited from ProviderBase.)

System_CAPS_pubmethodIsUserInRole(String, String)

Gets a value indicating whether the specified user is in the specified role for the configured applicationName.


Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodRemoveUsersFromRoles(String[], String[])

Removes the specified user names from the specified roles for the configured applicationName.


Gets a value indicating whether the specified role name already exists in the role data source for the configured applicationName.


Returns a string that represents the current object.(Inherited from Object.)

ASP.NET role management is designed to enable you to easily use a number of different role providers for your ASP.NET applications. You can use the supplied role providers that are included with the .NET Framework, or you can implement your own provider.

When implementing a custom role provider, you are required to inherit the RoleProvider abstract class.

There are two primary reasons for creating a custom role provider.

  • You need to store role information in a data source that is not supported by the role providers included with the .NET Framework, such as a FoxPro database, an Oracle database, or other data sources.

  • You need to manage role information using a database schema that is different from the database schema used by the providers that ship with the .NET Framework. A common example of this would be role data that already exists in a SQL Server database for a company or Web site.

.NET Framework
Available since 2.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top