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)

public abstract bool IsUserInRole (
	string username,
	string roleName
)
public abstract boolean IsUserInRole (
	String username, 
	String roleName
)
public abstract function IsUserInRole (
	username : String, 
	roleName : String
) : boolean
Not applicable.

Parameters

username

The user name to search for.

roleName

The role to search in.

Return Value

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 and the IsInRole method of the RolePrincipal 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 a null reference (Nothing in Visual Basic) or is an empty string, we recommend that your provider throw an exception.

If the specified role name is a null reference (Nothing in Visual Basic) 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 override bool IsUserInRole(string username, string rolename)
{
  if (username == null || username == "")
    throw new ProviderException("User name cannot be empty or null.");
  if (rolename == null || rolename == "")
    throw new ProviderException("Role name cannot be empty or null.");

  bool userIsInRole = false;

  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = 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();

    int numRecs = (int)cmd.ExecuteScalar();

    if (numRecs > 0)
    {
      userIsInRole = true;
    }
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    conn.Close();      
  }

  return userIsInRole;
}

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0
Show: