RoleProvider.IsUserInRole(String, String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu označující, zda je zadaný uživatel v zadané roli pro konfigurovaný applicationName
.
public:
abstract bool IsUserInRole(System::String ^ username, System::String ^ roleName);
public abstract bool IsUserInRole (string username, string roleName);
abstract member IsUserInRole : string * string -> bool
Public MustOverride Function IsUserInRole (username As String, roleName As String) As Boolean
Parametry
- username
- String
Uživatelské jméno, které chcete vyhledat.
- roleName
- String
Role, ve které se má hledat.
Návraty
true
pokud je zadaný uživatel v zadané roli pro konfigurovaný applicationName
, v opačném případě false
.
Příklady
Následující příklad kódu ukazuje ukázkovou implementaci IsUserInRole metody .
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;
}
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
Poznámky
Metoda IsUserInRole je volána metodou IsUserInRoleRoles třídy k určení, zda je aktuální přihlášený uživatel přidružen k roli ze zdroje dat pro nakonfigurovaný ApplicationName.
Pokud zadané uživatelské jméno je null
nebo je prázdný řetězec, doporučujeme, aby váš zprostředkovatel vyvolal výjimku.
Pokud je null
zadaný název role prázdný nebo prázdný řetězec, doporučujeme, aby váš zprostředkovatel vyvolal výjimku.