Export (0) Print
Expand All

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.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Show:
© 2014 Microsoft