This documentation is archived and is not being maintained.

RoleProvider.GetUsersInRole Method

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

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

'Declaration
Public MustOverride Function GetUsersInRole ( _
	roleName As String _
) As String()

Parameters

roleName
Type: System.String
The name of the role to get the list of users for.

Return Value

Type: System.String()
A string array containing the names of all the users who are members of the specified role for the configured applicationName.

GetUsersInRole is called by the GetUsersInRole method of the Roles class to retrieve the user names associated with a role from the data source. Only the roles for the configured ApplicationName are retrieved.

If the specified role name does not exist for the configured applicationName or if it is Nothing or an empty string, we recommend that your provider throw an exception.

If no users are associated with the specified role for the configured applicationName, we recommend that your provider return a string array with no elements.

The following code example shows a sample implementation of the GetUsersInRole method.


Public Overrides Function GetUsersInRole(ByVal rolename As String) As String()
    If rolename Is Nothing OrElse rolename = "" Then _
      Throw New ProviderException("Role name cannot be empty or null.")
    If Not RoleExists(rolename) Then _
      Throw New ProviderException("Role does not exist.")

    Dim tmpUserNames As String = ""

    Dim conn As OdbcConnection = New OdbcConnection(connectionString)
    Dim cmd As OdbcCommand = New OdbcCommand("SELECT Username FROM UsersInRoles " & _
                                             " WHERE Rolename = ? AND ApplicationName = ?", conn)

    cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename
    cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName

    Dim reader As OdbcDataReader = Nothing

    Try
        conn.Open()

        reader = cmd.ExecuteReader()

        Do While reader.Read()
            tmpUserNames &= reader.GetString(0) + ","
        Loop
    Catch e As OdbcException
        ' Handle exception.
    Finally
        If Not reader Is Nothing Then reader.Close()
        conn.Close()
    End Try

    If tmpUserNames.Length > 0 Then
        ' Remove trailing comma.
        tmpUserNames = tmpUserNames.Substring(0, tmpUserNames.Length - 1)
        Return tmpUserNames.Split(CChar(","))
    End If

    Return New String() {}
End Function


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: