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.

Exception Condition
ProviderException

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

.NET Framework
Available since 2.0
Return to top
Show: