SqlRoleProvider.GetAllRoles Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un elenco di tutti i ruoli per l'applicazione.
public:
override cli::array <System::String ^> ^ GetAllRoles();
public override string[] GetAllRoles ();
override this.GetAllRoles : unit -> string[]
Public Overrides Function GetAllRoles () As String()
Restituisce
Matrice di stringhe contenente i nomi di tutti i ruoli memorizzati nel database per una determinata applicazione.
Eccezioni
Si è verificato un errore sconosciuto durante la comunicazione con il database.
Esempio
Nell'esempio di codice seguente viene usato il GetAllRoles metodo per ottenere l'elenco di ruoli per un'applicazione e associare i risultati a un System.Web.UI.WebControls.GridView controllo. Per un esempio di file di Web.config che abilita la gestione dei ruoli, vedere SqlRoleProvider.
Importante
Questo esempio contiene una casella di testo che accetta l'input utente, ovvero una potenziale minaccia di sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.
<%@ 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>
Commenti
Il GetAllRoles metodo viene chiamato dalla Roles classe per recuperare un elenco di tutti i ruoli nel database di SQL Server specificato nel file di configurazione dell'applicazione di ASP.NET (Web.config).