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, bei denen es sich um RolePrincipal ein Mitglied handelt.
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, bei denen es RolePrincipal sich um ein Mitglied handelt.
Ausnahmen
Die Identity Eigenschaft ist null.
Beispiele
Im folgenden Codebeispiel werden die Rollen angezeigt, bei denen der angemeldete Benutzer Mitglied ist.
<%@ 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 und true Rollennamen für den durch den RolePrincipalBenutzer dargestellten Benutzer zwischengespeichert wurden, gibt die GetRoles Methode die Liste der Rollennamen im Cache zurück, in dem der Benutzer Mitglied ist. Wenn Rollennamen nicht zwischengespeichert wurden, gibt die GetRoles Methode die Liste der Rollennamen zurück, bei denen der Benutzer Mitglied der Standardrolle Providerist. Es werden nur Rollennamen für den aktuellen ApplicationName Wert zurückgegeben. Um festzustellen, ob Rollennamen im RolePrincipal Objekt zwischengespeichert wurden, überprüfen Sie die IsRoleListCached Eigenschaft.