Roles.FindUsersInRole(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 haalt u een lijst op met gebruikers in een opgegeven rol waarbij de gebruikersnaam de opgegeven gebruikersnaam bevat die overeenkomt met de opgegeven gebruikersnaam.
public:
static cli::array <System::String ^> ^ FindUsersInRole(System::String ^ roleName, System::String ^ usernameToMatch);
public static string[] FindUsersInRole(string roleName, string usernameToMatch);
static member FindUsersInRole : string * string -> string[]
Public Shared Function FindUsersInRole (roleName As String, usernameToMatch As String) As String()
Parameters
- roleName
- String
De rol waarin moet worden gezocht.
- usernameToMatch
- String
De gebruikersnaam die moet worden gezocht.
Retouren
Een tekenreeksmatrix met de namen van alle gebruikers waarvan de gebruikersnaam overeenkomt usernameToMatch en die lid zijn van de opgegeven rol.
Uitzonderingen
roleName is een lege tekenreeks of bevat een komma (,).
– of –
usernameToMatch is een lege tekenreeks.
Rolbeheer is niet ingeschakeld.
Voorbeelden
In het volgende codevoorbeeld wordt de FindUsersInRole methode gebruikt om het rollidmaatschap weer te geven op basis van gebruikersinvoer. Zie voor een voorbeeld van een Web.config-bestand dat rolbeheer Rolesmogelijk maakt.
Important
Dit voorbeeld bevat een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
string[] users;
public void Page_Load()
{
if (!IsPostBack)
{
RolesListBox.DataSource = Roles.GetAllRoles();
RolesListBox.DataBind();
}
}
public void GoButton_OnClick(object sender, EventArgs args)
{
Msg.Text = "";
users = null;
if (RolesListBox.SelectedItem == null)
{
Msg.Text = "Please select a role.";
return;
}
users = Roles.FindUsersInRole(RolesListBox.SelectedItem.Text, UsernameTextBox.Text);
if (users.Length < 1)
{
Msg.Text = "No matching users found in selected role.";
}
UserGrid.DataSource = users;
UserGrid.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
<asp:Label id="Msg" runat="Server" ForeColor="red" />
<table border="0" cellpadding="3" cellspacing="3">
<tr>
<td valign="top">Role:</td>
<td valign="top"><asp:ListBox id="RolesListBox" runat="Server" /></td>
</tr>
<tr>
<td valign="top">Username to Search for:</td>
<td valign="top"><asp:TextBox id="UsernameTextBox" runat="server" /></td>
</tr>
</table>
<asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><br />
<asp:DataGrid id="UserGrid" runat="server"
CellPadding="2" CellSpacing="1"
Gridlines="Both">
<HeaderStyle BackColor="darkblue" ForeColor="white" />
</asp:DataGrid>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Dim users() As String
Public Sub Page_Load()
If Not IsPostBack Then
RolesListBox.DataSource = Roles.GetAllRoles()
RolesListBox.DataBind()
End If
End SUb
Public Sub GoButton_OnClick(sender As Object, args As EventArgs)
Msg.Text = ""
users = Nothing
If RolesListBox.SelectedItem Is Nothing Then
Msg.Text = "Please select a role."
Return
End If
users = Roles.FindUsersInRole(RolesListBox.SelectedItem.Text, UsernameTextBox.Text)
If users.Length < 1 Then
Msg.Text = "No matching users found in selected role."
End If
UserGrid.DataSource = users
UserGrid.DataBind()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
<asp:Label id="Msg" runat="Server" ForeColor="red" />
<table border="0" cellpadding="3" cellspacing="3">
<tr>
<td valign="top">Role:</td>
<td valign="top"><asp:ListBox id="RolesListBox" runat="Server" /></td>
</tr>
<tr>
<td valign="top">Username to Search for:</td>
<td valign="top"><asp:TextBox id="UsernameTextBox" runat="server" /></td>
</tr>
</table>
<asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><br />
<asp:DataGrid id="UserGrid" runat="server"
CellPadding="2" CellSpacing="1"
Gridlines="Both">
<HeaderStyle BackColor="darkblue" ForeColor="white" />
</asp:DataGrid>
</form>
</body>
</html>
Opmerkingen
FindUsersInRole retourneert een lijst met gebruikers in een rol waarin de gebruikersnaam een overeenkomst bevat van de opgegeven usernameToMatch voor de geconfigureerde applicationName. Als de usernameToMatch parameter bijvoorbeeld is ingesteld op 'gebruiker', worden de gebruikers 'user1', 'user2', 'user3' enzovoort geretourneerd. Gebruikers worden in alfabetische volgorde geretourneerd op gebruikersnaam.
De SqlRoleProvider zoekopdracht wordt uitgevoerd met behulp van een LIKE-component voor de usernameToMatch parameter. Jokertekens die worden ondersteund door SQL Server in LIKE-componenten kunnen worden gebruikt in de parameterwaarde usernameToMatch.