Roles.AddUsersToRoles(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.
Voegt de opgegeven gebruikers toe aan de opgegeven rollen.
public:
static void AddUsersToRoles(cli::array <System::String ^> ^ usernames, cli::array <System::String ^> ^ roleNames);
public static void AddUsersToRoles(string[] usernames, string[] roleNames);
static member AddUsersToRoles : string[] * string[] -> unit
Public Shared Sub AddUsersToRoles (usernames As String(), roleNames As String())
Parameters
- usernames
- String[]
Een tekenreeksmatrix met gebruikersnamen die moeten worden toegevoegd aan de opgegeven rollen.
- roleNames
- String[]
Een tekenreeksmatrix met rolnamen waaraan de opgegeven gebruikersnamen moeten worden toegevoegd.
Uitzonderingen
Een van de rollen in roleNames is null.
– of –
Een van de gebruikers in usernames is null.
Een van de rollen in roleNames is een lege tekenreeks of bevat een komma (,).
– of –
Een van de gebruikers in usernames is een lege tekenreeks of bevat een komma (,).
– of –
roleNames bevat een dubbel element.
– of –
usernames bevat een dubbel element.
Rolbeheer is niet ingeschakeld.
Voorbeelden
In het volgende codevoorbeeld worden een of meer gebruikers toegevoegd aan een of meer rollen. Zie voor een voorbeeld van een Web.config-bestand dat rolbeheer Rolesmogelijk maakt.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
string[] rolesArray;
MembershipUserCollection users;
public void Page_Load()
{
Msg.Text = "";
if (!IsPostBack)
{
// Bind roles to ListBox.
rolesArray = Roles.GetAllRoles();
RolesListBox.DataSource = rolesArray;
RolesListBox.DataBind();
// Bind users to ListBox.
users = Membership.GetAllUsers();
UsersListBox.DataSource = users;
UsersListBox.DataBind();
}
}
public void AddUsers_OnClick(object sender, EventArgs args)
{
// Verify that at least one user and one role are selected.
int[] user_indices = UsersListBox.GetSelectedIndices();
if (user_indices.Length == 0)
{
Msg.Text = "Please select one or more users.";
return;
}
int[] role_indices = RolesListBox.GetSelectedIndices();
if (role_indices.Length == 0)
{
Msg.Text = "Please select one or more roles.";
return;
}
// Create list of users to be added to the selected roles.
string[] newusers = new string[user_indices.Length];
for (int i = 0; i < newusers.Length; i++)
{
newusers[i] = UsersListBox.Items[user_indices[i]].Value;
}
// Create list of roles to be add the selected users to.
string[] rolesList = new string[role_indices.Length];
for (int i = 0; i < rolesList.Length; i++)
{
rolesList[i] = RolesListBox.Items[role_indices[i]].Value;
}
// Add the users to the selected role.
try
{
Roles.AddUsersToRoles(newusers, rolesList);
Msg.Text = "User(s) added to Role(s).";
}
catch (HttpException e)
{
Msg.Text = e.Message;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Role Membership</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3>Role Membership</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table cellpadding="3" border="0">
<tr>
<td valign="top">Roles:</td>
<td valign="top"><asp:ListBox id="RolesListBox" runat="server" SelectionMode="Multiple"
Rows="8" /></td>
<td valign="top">Users:</td>
<td valign="top"><asp:ListBox id="UsersListBox" DataTextField="Username"
Rows="8" SelectionMode="Multiple" runat="server" /></td>
<td valign="top"><asp:Button Text="Add User(s) to Role(s)" id="AddUsersButton"
runat="server" OnClick="AddUsers_OnClick" /></td>
</tr>
</table>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Dim rolesArray() As String
Dim users As MembershipUserCollection
Public Sub Page_Load()
Msg.Text = ""
If Not IsPostBack Then
' Bind roles to ListBox.
rolesArray = Roles.GetAllRoles()
RolesListBox.DataSource = rolesArray
RolesListBox.DataBind()
' Bind users to ListBox.
users = Membership.GetAllUsers()
UsersListBox.DataSource = users
UsersListBox.DataBind()
End If
End Sub
Public Sub AddUsers_OnClick(sender As Object, args As EventArgs)
' Verify that at least one user and one role are selected.
Dim user_indices() As Integer = UsersListBox.GetSelectedIndices()
If user_indices.Length = 0 Then
Msg.Text = "Please select one or more users."
Return
End If
Dim role_indices() As Integer = RolesListBox.GetSelectedIndices()
If role_indices.Length = 0 Then
Msg.Text = "Please select one or more roles."
Return
End If
' Create list of users to be added to the selected roles.
Dim newusers(user_indices.Length - 1) As String
For i As Integer = 0 To newusers.Length - 1
newusers(i) = UsersListBox.Items(user_indices(i)).Value
Next
' Create list of roles to be add the selected users to.
Dim rolesList(role_indices.Length - 1) As String
For i As Integer = 0 To rolesList.Length - 1
rolesList(i) = RolesListBox.Items(role_indices(i)).Value
Next
' Add the users to the selected role.
Try
Roles.AddUsersToRoles(newusers, rolesList)
Msg.Text = "User(s) added to Role(s)."
Catch e As HttpException
Msg.Text = e.Message
End Try
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Role Membership</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3>Role Membership</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table cellpadding="3" border="0">
<tr>
<td valign="top">Roles:</td>
<td valign="top"><asp:ListBox id="RolesListBox" runat="server" SelectionMode="Multiple"
Rows="8" /></td>
<td valign="top">Users:</td>
<td valign="top"><asp:ListBox id="UsersListBox" DataTextField="Username"
Rows="8" SelectionMode="Multiple" runat="server" /></td>
<td valign="top"><asp:Button Text="Add User(s) to Role(s)" id="AddUsersButton"
runat="server" OnClick="AddUsers_OnClick" /></td>
</tr>
</table>
</form>
</body>
</html>
Opmerkingen
Met AddUsersToRoles de methode wordt de standaardrolprovider aangeroepen om de opgegeven gebruikers te koppelen aan de opgegeven rollen in de gegevensbron.
Als uw toepassing gebruikmaakt van de SqlRoleProvider klasse, worden de database-updates die worden uitgevoerd tijdens het aanroepen van de AddUsersToRoles methode binnen een transactie uitgevoerd. Als er een fout optreedt, zoals een gebruikersnaam die al een opgegeven rol heeft, wordt de transactie teruggedraaid en worden er geen updates uitgevoerd.
Note
Gebruikersnamen en rolnamen mogen geen komma's bevatten.