RolePrincipal.GetRoles 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.
Ruft eine Liste der Rollen ab, denen RolePrincipal als Member angehört.
public:
cli::array <System::String ^> ^ GetRoles();
public string[] GetRoles ();
member this.GetRoles : unit -> string[]
Public Function GetRoles () As String()
Gibt zurück
Die Liste der Rollen, denen RolePrincipal als Member angehört.
Ausnahmen
Die Identity-Eigenschaft ist null
.
Beispiele
Im folgenden Codebeispiel werden die Rollen angezeigt, denen der angemeldete Benutzer angehört.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<script runat="server">
string[] rolesArray;
public void Page_Load()
{
RolePrincipal r = (RolePrincipal)User;
rolesArray = r.GetRoles();
UserRolesGrid.DataSource = rolesArray;
UserRolesGrid.DataBind();
Heading.Text = "Roles for " + User.Identity.Name;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sample: View Roles</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3><asp:Label id="Heading" runat="server" /></h3>
<table border="0" cellspacing="4">
<tr>
<td valign="top"><asp:GridView runat="server" CellPadding="4" id="UserRolesGrid"
AutoGenerateColumns="false" Gridlines="None"
CellSpacing="0" >
<Columns>
<asp:TemplateField >
<ItemTemplate>
<%# Container.DataItem.ToString() %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView></td>
</tr>
</table>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<script runat="server">
Dim rolesArray() As String
Public Sub Page_Load()
Dim r As RolePrincipal = CType(User, RolePrincipal)
rolesArray = r.GetRoles()
UserRolesGrid.DataSource = rolesArray
UserRolesGrid.DataBind()
Heading.Text = "Roles for " & User.Identity.Name
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sample: View Roles</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3><asp:Label id="Heading" runat="server" /></h3>
<table border="0" cellspacing="4">
<tr>
<td valign="top"><asp:GridView runat="server" CellPadding="4" id="UserRolesGrid"
AutoGenerateColumns="false" Gridlines="None"
CellSpacing="0" >
<Columns>
<asp:TemplateField >
<ItemTemplate>
<%# Container.DataItem.ToString() %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView></td>
</tr>
</table>
</form>
</body>
</html>
Hinweise
Wenn CacheRolesInCookie ist true
und Rollennamen für den durch RolePrincipaldargestellten Benutzer zwischengespeichert wurden, gibt die GetRoles -Methode die Liste der Rollennamen im Cache zurück, dem der Benutzer angehört. Wenn Rollennamen nicht zwischengespeichert wurden, gibt die Methode die GetRoles Liste der Rollennamen zurück, die der Benutzer aus der Standardrolle Providerist. Es werden nur Rollennamen für den aktuellen ApplicationName zurückgegeben. Überprüfen Sie die RolePrincipalIsRoleListCached -Eigenschaft, um zu ermitteln, ob Rollennamen im Objekt zwischengespeichert wurden.