RoleProvider.GetUsersInRole Method (String)

 

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)

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 null 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
Available since 2.0
Return to top
Show: