This documentation is archived and is not being maintained.

RoleProvider.IsUserInRole Method

Gets a value indicating whether the specified user is in the specified role for the configured applicationName.

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

'Declaration
Public MustOverride Function IsUserInRole ( _
	username As String, _
	roleName As String _
) As Boolean
'Usage
Dim instance As RoleProvider 
Dim username As String 
Dim roleName As String 
Dim returnValue As Boolean 

returnValue = instance.IsUserInRole(username, _
	roleName)

Parameters

username
Type: System.String

The user name to search for.

roleName
Type: System.String

The role to search in.

Return Value

Type: System.Boolean
true if the specified user is in the specified role for the configured applicationName; otherwise, false.

The IsUserInRole method is called by the IsUserInRole method of the Roles class to determine whether the current logged-on user is associated with a role from the data source for the configured ApplicationName.

If the specified user name is Nothing or is an empty string, we recommend that your provider throw an exception.

If the specified role name is Nothing or is an empty string, we recommend that your provider throw an exception.

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

Public Overrides Function IsUserInRole(ByVal username As String, ByVal rolename As String) As Boolean 
    If username Is Nothing OrElse username = "" Then _
      Throw New ProviderException("User name cannot be empty or null.")
    If rolename Is Nothing OrElse rolename = "" Then _
      Throw New ProviderException("Role name cannot be empty or null.")

    Dim userIsInRole As Boolean = False 

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

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

    Try
        conn.Open()

        Dim numRecs As Integer = CType(cmd.ExecuteScalar(), Integer)

        If numRecs > 0 Then
            userIsInRole = True 
        End If 
    Catch e As OdbcException
        ' Handle exception. 
    Finally
        conn.Close()
    End Try 

    Return userIsInRole
End Function

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

Supported in: 3.5, 3.0, 2.0
Show: