Compartir vía


RolePrincipal.GetRoles Método

Definición

Obtiene una lista de roles de los RolePrincipal que es miembro.

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

Devoluciones

String[]

Lista de roles de los que RolePrincipal es miembro.

Excepciones

La Identity propiedad es null.

Ejemplos

En el ejemplo de código siguiente se muestran los roles de los que es miembro el usuario que ha iniciado sesión.

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

Comentarios

Si CacheRolesInCookie es true y los nombres de rol se han almacenado en caché para el usuario representado por RolePrincipal, el GetRoles método devolverá la lista de nombres de rol en la memoria caché de la que es miembro el usuario. Si no se han almacenado en caché los nombres de rol, el GetRoles método devuelve la lista de nombres de rol de los que el usuario es miembro del rol Providerpredeterminado. Solo se devuelven los nombres de rol para el actual ApplicationName . Para determinar si los nombres de rol se han almacenado en caché en el RolePrincipal objeto, compruebe la IsRoleListCached propiedad .

Se aplica a

Consulte también