Roles.AddUsersToRoles(String[], String[]) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fügt die angegebenen Benutzer zu den angegebenen Rollen hinzu.
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())
Parameter
- usernames
- String[]
Ein Zeichenfolgenarray von Benutzernamen, das den angegebenen Rollen hinzugefügt werden soll.
- roleNames
- String[]
Ein Zeichenfolgenarray mit Rollennamen, dem die angegebenen Benutzernamen hinzugefügt werden sollen.
Ausnahmen
Eine der Rollen in roleNames ist null.
-oder-
Einer der Benutzer usernames ist null.
Eine der Rollen in roleNames ist eine leere Zeichenfolge oder enthält ein Komma (,).
-oder-
Einer der Benutzer in usernames ist eine leere Zeichenfolge oder enthält ein Komma (,).
-oder-
roleNames enthält ein doppeltes Element.
-oder-
usernames enthält ein doppeltes Element.
Die Rollenverwaltung ist nicht aktiviert.
Beispiele
Im folgenden Codebeispiel wird einer oder mehreren Benutzern eine oder mehrere Rollen hinzugefügt. Ein Beispiel für eine Web.config Datei, die die Rollenverwaltung ermöglicht, finden Sie unter Roles.
<%@ 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>
Hinweise
Die AddUsersToRoles Methode ruft den Standardrollenanbieter auf, um die angegebenen Benutzer den angegebenen Rollen an der Datenquelle zuzuordnen.
Wenn Ihre Anwendung die SqlRoleProvider Klasse verwendet, werden die Datenbankaktualisierungen, die während des Aufrufs der AddUsersToRoles Methode ausgeführt werden, innerhalb einer Transaktion ausgeführt. Wenn ein Fehler auftritt, z. B. ein Benutzername, der sich bereits in einer angegebenen Rolle befindet, wird die Transaktion zurückgesetzt, und es werden keine Aktualisierungen ausgeführt.
Note
Benutzernamen und Rollennamen dürfen keine Kommas enthalten.