Roles.RoleExists(String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu označující, zda zadaný název role již existuje ve zdroji dat role.
public:
static bool RoleExists(System::String ^ roleName);
public static bool RoleExists (string roleName);
static member RoleExists : string -> bool
Public Shared Function RoleExists (roleName As String) As Boolean
Parametry
- roleName
- String
Název role, která se má vyhledat ve zdroji dat.
Návraty
true
pokud název role již ve zdroji dat existuje; v opačném případě . false
Výjimky
roleName
is null
(Nothing
v jazyce Visual Basic).
roleName
je prázdný řetězec nebo obsahuje čárku (,).
Správa rolí není povolená.
Příklady
Následující příklad kódu používá metodu RoleExists k určení, zda název role již existuje před vytvořením role. Příklad souboru Web.config, který umožňuje správu rolí, najdete v tématu Roles.
Důležité
Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že uživatelský vstup neobsahuje skript nebo elementy HTML. Další informace najdete v tématu Přehled zneužití skriptů.
<%@ 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[] rolesArray;
public void Page_Load(object sender, EventArgs args)
{
if (!IsPostBack)
{
// Bind roles to GridView.
rolesArray = Roles.GetAllRoles();
RolesGrid.DataSource = rolesArray;
RolesGrid.DataBind();
}
}
public void CreateRole_OnClick(object sender, EventArgs args)
{
string createRole = RoleTextBox.Text;
try
{
if (Roles.RoleExists(createRole))
{
Msg.Text = "Role '" + Server.HtmlEncode(createRole) + "' already exists. Please specify a different role name.";
return;
}
Roles.CreateRole(createRole);
Msg.Text = "Role '" + Server.HtmlEncode(createRole) + "' created.";
// Re-bind roles to GridView.
rolesArray = Roles.GetAllRoles();
RolesGrid.DataSource = rolesArray;
RolesGrid.DataBind();
}
catch (Exception e)
{
Msg.Text = "Role '" + Server.HtmlEncode(createRole) + "' <u>not</u> created.";
Response.Write(e.ToString());
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Create Role</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3>Create a Role</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Role name:
<asp:TextBox id="RoleTextBox" runat="server" />
<asp:Button Text="Create Role" id="CreateRoleButton"
runat="server" OnClick="CreateRole_OnClick" />
<br />
<asp:GridView runat="server" CellPadding="2" id="RolesGrid"
Gridlines="Both" CellSpacing="2" AutoGenerateColumns="false" >
<HeaderStyle BackColor="navy" ForeColor="white" />
<Columns>
<asp:TemplateField HeaderText="Roles" >
<ItemTemplate>
<%# Container.DataItem.ToString() %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</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 rolesArray() As String
Public Sub Page_Load(sender As Object, args As EventArgs)
If Not IsPostBack Then
' Bind roles to GridView.
rolesArray = Roles.GetAllRoles()
RolesGrid.DataSource = rolesArray
RolesGrid.DataBind()
End If
End Sub
Public Sub CreateRole_OnClick(sender As Object, args As EventArgs)
Dim createRole As String = RoleTextBox.Text
Try
If Roles.RoleExists(createRole) Then
Msg.Text = "Role '" & Server.HtmlEncode(createRole) & "' already exists. Please specify a different role name."
Return
End If
Roles.CreateRole(createRole)
Msg.Text = "Role '" & Server.HtmlEncode(createRole) & "' created."
' Re-bind roles to GridView.
rolesArray = Roles.GetAllRoles()
RolesGrid.DataSource = rolesArray
RolesGrid.DataBind()
Catch
Msg.Text = "Role '" & Server.HtmlEncode(createRole) & "' <u>not</u> created."
End Try
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Create Role</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3>Create a Role</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Role name:
<asp:TextBox id="RoleTextBox" runat="server" />
<asp:Button Text="Create Role" id="CreateRoleButton"
runat="server" OnClick="CreateRole_OnClick" />
<br />
<asp:GridView runat="server" CellPadding="2" id="RolesGrid"
Gridlines="Both" CellSpacing="2" AutoGenerateColumns="false" >
<HeaderStyle BackColor="navy" ForeColor="white" />
<Columns>
<asp:TemplateField HeaderText="Roles" >
<ItemTemplate>
<%# Container.DataItem.ToString() %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
</html>
Poznámky
Metoda RoleExists volá metodu RoleExists
výchozího zprostředkovatele role k určení, zda název role existuje ve zdroji dat pro aplikaci, která je zadána ApplicationName ve vlastnosti.