RoleProvider.FindUsersInRole Method (String, String)
Gets an array of user names in a role where the user name contains the specified user name to match.
Assembly: System.Web.ApplicationServices (in System.Web.ApplicationServices.dll)
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
Available since 2.0