This documentation is archived and is not being maintained.

RolePrincipal.GetRoles Method

Gets a list of roles that the RolePrincipal is a member of.

Namespace:  System.Web.Security
Assembly:  System.Web (in System.Web.dll)

public string[] GetRoles()

Return Value

Type: System.String[]
The list of roles that the RolePrincipal is a member of.


The Identity property is null.

If CacheRolesInCookie is true and role names have been cached for the user represented by the RolePrincipal, then the GetRoles method will return the list of role names in the cache that the user is a member of. If role names have not been cached, then the GetRoles method returns the list of role names that the user is a member of from the default role Provider. Only role names for the current ApplicationName are returned. To determine whether role names have been cached in the RolePrincipal object, check the IsRoleListCached property.

The following code example displays the roles that the logged-on user is a member of.

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

  Heading.Text = "Roles for " + User.Identity.Name;

<html xmlns="">
<title>Sample: View Roles</title>

<form runat="server" id="PageForm">

  <h3><asp:Label id="Heading" runat="server" /></h3>

  <table border="0" cellspacing="4">
      <td valign="top"><asp:GridView runat="server" CellPadding="4" id="UserRolesGrid" 
                                     AutoGenerateColumns="false" Gridlines="None" 
                                     CellSpacing="0" >
                           <asp:TemplateField >
                               <%# Container.DataItem.ToString() %>



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.