This documentation is archived and is not being maintained.

RoleProvider.FindUsersInRole Method

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

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

'Declaration
Public MustOverride Function FindUsersInRole ( _
	roleName As String, _
	usernameToMatch As String _
) As String()

Parameters

roleName
Type: System.String
The role to search in.
usernameToMatch
Type: System.String
The user name to search for.

Return Value

Type: System.String()
A string array containing the names of all the users where the user name matches usernameToMatch and the user is a member of the specified role.

The FindUsersInRole method is called by the Roles class and returns a list of users in a role where the user name contains a match of the supplied usernameToMatch for the configured applicationName. Wildcard support is included based on the data source. Users are returned in alphabetical order by user name.

We recommend that you throw a ProviderException if roleName does not exist in the data source.

The following code example shows a sample FindUsersInRole implementation.


Public Overrides Function FindUsersInRole(ByVal rolename As String, ByVal userNameToMatch As String) As String()
    Dim conn As OdbcConnection = New OdbcConnection(connectionString)
    Dim cmd As OdbcCommand = New OdbcCommand("SELECT Username FROM UsersInRoles  " & _
                                             " WHERE Username LIKE ? AND RoleName = ? AND ApplicationName = ?", conn)
    cmd.Parameters.Add("@UsernameSearch", OdbcType.VarChar, 255).Value = usernameToMatch
    cmd.Parameters.Add("@RoleName", OdbcType.VarChar, 255).Value = rolename
    cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = pApplicationName

    Dim tmpUserNames As String = ""
    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 Nothing
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: