Roles.FindUsersInRole(String, String) Método
Definição
Obtém uma lista de usuários em uma função especificada em que o nome de usuário contém o nome de usuário especificado a ser correspondido.Gets a list of users in a specified role where the user name contains the specified user name to match.
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()
Parâmetros
- roleName
- String
A função a ser pesquisada.The role to search in.
- usernameToMatch
- String
O nome de usuário a ser pesquisado.The user name to search for.
Retornos
- String[]
Uma matriz de cadeia de caracteres que contém os nomes de todos os usuários cujo nome de usuário corresponde a usernameToMatch e que são membros da função especificada.A string array containing the names of all the users whose user name matches usernameToMatch and who are members of the specified role.
Exceções
roleName é null (Nothing no Visual Basic).roleName is null (Nothing in Visual Basic).
- ou --or-
usernameToMatch é null.usernameToMatch is null.
roleName é uma cadeia de caracteres vazia ou contém uma vírgula (,).roleName is an empty string or contains a comma (,).
- ou --or-
usernameToMatch é uma cadeia de caracteres vazia.usernameToMatch is an empty string.
O gerenciamento de função não está habilitado.Role management is not enabled.
Exemplos
O exemplo de código a seguir usa o FindUsersInRole método para exibir a associação de função com base na entrada do usuário.The following code example uses the FindUsersInRole method to display role membership based on user input. Para obter um exemplo de um arquivo de Web.config que habilita o gerenciamento de função, consulte Roles .For an example of a Web.config file that enables role management, see Roles.
Importante
Este exemplo contém uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança.This example contains a text box that accepts user input, which is a potential security threat. Por padrão, as páginas da Web do ASP.NET validam que a entrada do usuário não inclui elementos de script ou HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Para obter mais informações, consulte Visão geral de explorações de script.For more information, see Script Exploits Overview.
<%@ 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>
Comentários
FindUsersInRole Retorna uma lista de usuários em uma função em que o nome de usuário contém uma correspondência do fornecido usernameToMatch para o configurado applicationName .FindUsersInRole returns a list of users in a role where the user name contains a match of the supplied usernameToMatch for the configured applicationName. Por exemplo, se o usernameToMatch parâmetro for definido como "usuário", os usuários "Usuário1", "Usuário2", "usuário3" e assim por diante serão retornados.For example, if the usernameToMatch parameter is set to "user," then the users "user1," "user2," "user3," and so on are returned. Os usuários são retornados em ordem alfabética por nome de usuário.Users are returned in alphabetical order by user name.
O SqlRoleProvider executa sua pesquisa usando uma cláusula LIKE em relação ao usernameToMatch parâmetro.The SqlRoleProvider performs its search using a LIKE clause against the usernameToMatch parameter. Qualquer curinga que tenha suporte de SQL Server em cláusulas LIKE pode ser usado no valor do usernameToMatch parâmetro.Any wildcards that are supported by SQL Server in LIKE clauses can be used in the usernameToMatch parameter value.