RolePrincipal.GetRoles Methode

Definitie

Hiermee haalt u een lijst op met rollen waarvan de RolePrincipal lid is.

public:
 cli::array <System::String ^> ^ GetRoles();
public string[] GetRoles();
member this.GetRoles : unit -> string[]
Public Function GetRoles () As String()

Retouren

String[]

De lijst met rollen waarvan de RolePrincipal lid is.

Uitzonderingen

De eigenschap Identity is null.

Voorbeelden

In het volgende codevoorbeeld worden de rollen weergegeven waarvan de aangemelde gebruiker lid is.

<%@ 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>

Opmerkingen

Als CacheRolesInCookie dat het is true en rolnamen zijn opgeslagen in de cache voor de gebruiker die wordt vertegenwoordigd door de RolePrincipal, retourneert de GetRoles methode de lijst met rolnamen in de cache waarvan de gebruiker lid is. Als rolnamen niet in de cache zijn opgeslagen, retourneert de GetRoles methode de lijst met rolnamen waarvan de gebruiker lid is van de standaardrol Provider. Alleen rolnamen voor de huidige ApplicationName worden geretourneerd. Als u wilt bepalen of rolnamen in de cache van het RolePrincipal object zijn opgeslagen, controleert u de IsRoleListCached eigenschap.

Van toepassing op

Zie ook