RoleProvider.RemoveUsersFromRoles(String[], String[]) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee verwijdert u de opgegeven gebruikersnamen uit de opgegeven rollen voor de geconfigureerde applicationName.
public:
abstract void RemoveUsersFromRoles(cli::array <System::String ^> ^ usernames, cli::array <System::String ^> ^ roleNames);
public abstract void RemoveUsersFromRoles(string[] usernames, string[] roleNames);
abstract member RemoveUsersFromRoles : string[] * string[] -> unit
Public MustOverride Sub RemoveUsersFromRoles (usernames As String(), roleNames As String())
Parameters
- usernames
- String[]
Een tekenreeksmatrix met gebruikersnamen die moeten worden verwijderd uit de opgegeven rollen.
- roleNames
- String[]
Een tekenreeksmatrix met rolnamen waaruit de opgegeven gebruikersnamen moeten worden verwijderd.
Voorbeelden
In het volgende codevoorbeeld ziet u een voorbeeld van de implementatie van de RemoveUsersFromRoles methode.
public override void RemoveUsersFromRoles(string[] usernames, string[] rolenames)
{
foreach (string rolename in rolenames)
{
if (rolename == null || rolename == "")
throw new ProviderException("Role name cannot be empty or null.");
if (!RoleExists(rolename))
throw new ProviderException("Role name not found.");
}
foreach (string username in usernames)
{
if (username == null || username == "")
throw new ProviderException("User name cannot be empty or null.");
foreach (string rolename in rolenames)
{
if (!IsUserInRole(username, rolename))
throw new ProviderException("User is not in role.");
}
}
OdbcConnection conn = new OdbcConnection(connectionString);
OdbcCommand cmd = new OdbcCommand("DELETE FROM UsersInRoles " +
" WHERE Username = ? AND Rolename = ? AND ApplicationName = ?", conn);
OdbcParameter userParm = cmd.Parameters.Add("@Username", OdbcType.VarChar, 255);
OdbcParameter roleParm = cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255);
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;
try
{
conn.Open();
foreach (string username in usernames)
{
foreach (string rolename in rolenames)
{
userParm.Value = username;
roleParm.Value = rolename;
cmd.ExecuteNonQuery();
}
}
}
catch (OdbcException)
{
// Handle exception.
}
finally
{
conn.Close();
}
}
Public Overrides Sub RemoveUsersFromRoles(ByVal usernames As String(), ByVal rolenames As String())
For Each rolename As String In rolenames
If rolename Is Nothing OrElse rolename = "" Then _
Throw New ProviderException("Role name cannot be empty or null.")
If Not RoleExists(rolename) Then _
Throw New ProviderException("Role name not found.")
Next
For Each username As String In usernames
If username Is Nothing OrElse username = "" Then _
Throw New ProviderException("User name cannot be empty or null.")
For Each rolename As String In rolenames
If Not IsUserInRole(username, rolename) Then
Throw New ProviderException("User is not in role.")
End If
Next
Next
Dim conn As OdbcConnection = New OdbcConnection(connectionString)
Dim cmd As OdbcCommand = New OdbcCommand("DELETE FROM UsersInRoles " & _
" WHERE Username = ? AND Rolename = ? AND ApplicationName = ?", conn)
Dim userParm As OdbcParameter = cmd.Parameters.Add("@Username", OdbcType.VarChar, 255)
Dim roleParm As OdbcParameter = cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255)
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName
Try
conn.Open()
For Each username As String In usernames
For Each rolename As String In rolenames
userParm.Value = username
roleParm.Value = rolename
cmd.ExecuteNonQuery()
Next
Next
Catch e As OdbcException
' Handle exception.
Finally
conn.Close()
End Try
End Sub
Opmerkingen
RemoveUsersFromRoles wordt aangeroepen door RemoveUserFromRole , RemoveUsersFromRole en RemoveUserFromRolesRemoveUsersFromRoles methoden van de Roles klasse om de opgegeven gebruikers te verwijderen uit de opgegeven rollen in de gegevensbron. Alleen rollen voor de geconfigureerde ApplicationName rollen worden gewijzigd.
Als een van de opgegeven rolnamen niet wordt gevonden voor de geconfigureerde applicationName, raden we aan dat uw provider een ProviderException.
Als een van de opgegeven gebruikersnamen niet is gekoppeld aan een van de opgegeven rolnamen voor de geconfigureerde applicationName, raden we aan dat uw provider een ProviderException.
Als een van de opgegeven gebruikersnamen een lege tekenreeks is null of is, is het raadzaam dat uw provider een uitzondering genereert.
Als een van de opgegeven rolnamen een lege tekenreeks is null of is, is het raadzaam dat uw provider een uitzondering genereert.
Als uw gegevensbron transacties ondersteunt, raden we u aan elke verwijderbewerking in een transactie op te nemen en de transactie terug te draaien en een uitzondering te genereren als een verwijderbewerking mislukt.