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 ()
public String[] GetRoles ()
public function GetRoles () : String[]
Not applicable.

Return Value

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

Exception typeCondition

ProviderException

The Identity property is a null reference (Nothing in Visual Basic).

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

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show: