Partage via


RolePrincipal.GetRoles Méthode

Définition

Obtient une liste de rôles dont le RolePrincipal membre est membre.

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

Retours

String[]

Liste des rôles dont le RolePrincipal membre est membre.

Exceptions

La Identity propriété est null.

Exemples

L’exemple de code suivant affiche les rôles dont l’utilisateur connecté est membre.

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

Remarques

Si CacheRolesInCookie les noms de true rôle ont été mis en cache pour l’utilisateur représenté par le RolePrincipal, la GetRoles méthode retourne la liste des noms de rôles dans le cache dont l’utilisateur est membre. Si les noms de rôles n’ont pas été mis en cache, la GetRoles méthode retourne la liste des noms de rôles dont l’utilisateur est membre à partir du rôle Providerpar défaut. Seuls les noms de rôles pour le courant ApplicationName sont retournés. Pour déterminer si les noms de rôles ont été mis en cache dans l’objet RolePrincipal , vérifiez la IsRoleListCached propriété.

S’applique à

Voir aussi