RolePrincipal.GetRoles Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a list of roles that the RolePrincipal is a member of.
public:
cli::array <System::String ^> ^ GetRoles();
public string[] GetRoles ();
member this.GetRoles : unit -> string[]
Public Function GetRoles () As String()
Returns
The list of roles that the RolePrincipal is a member of.
Exceptions
The Identity property is null
.
Examples
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>
<%@ 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>
Remarks
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.