Freigeben über


RolePrincipal.GetRoles Methode

Definition

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

String[]

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.

Gilt für:

Weitere Informationen