SqlRoleProvider.GetRolesForUser Method (String)
![]() |
---|
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience. |
Gets a list of the roles that a user is in.
Assembly: System.Web (in System.Web.dll)
Parameters
- username
-
Type:
System.String
The user to return a list of roles for.
Return Value
Type: System.String[]A string array containing the names of all the roles that the specified user is in.
Exception | Condition |
---|---|
System.ArgumentNullException | username is null. |
System.ArgumentException | username contains a comma. -or- username is longer than 256 characters. |
System.Configuration.Provider.ProviderException | An unknown error occurred while communicating with the database. |
The GetRolesForUser method is called by the Roles class to retrieve a list of a specified user's roles from the SQL Server database specified in the ASP.NET application's configuration file (Web.config).
The following code example uses the GetRolesForUser method to retrieve a list of roles for a specified user and binds them to a System.Web.UI.WebControls.GridView control. For an example of a Web.config file that enables role management, see SqlRoleProvider.
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> string[] rolesArray; MembershipUserCollection users; public void Page_Load() { Msg.Text = ""; try { if (!Roles.IsUserInRole(User.Identity.Name, "Administrators")) { Msg.Text = "You are not authorized to view user roles."; UsersListBox.Visible = false; return; } } catch (HttpException e) { Msg.Text = "There is no current logged on user. Role membership cannot be verified."; return; } if (!IsPostBack) { // Bind users to ListBox. users = Membership.GetAllUsers(); UsersListBox.DataSource = users; UsersListBox.DataBind(); } // If a user is selected, show the roles for the selected user. if (UsersListBox.SelectedItem != null) { // Bind roles to GridView. rolesArray = Roles.GetRolesForUser(UsersListBox.SelectedItem.Value); UserRolesGrid.DataSource = rolesArray; UserRolesGrid.DataBind(); UserRolesGrid.Columns[0].HeaderText = "Roles for " + UsersListBox.SelectedItem.Value; } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Sample: View User Roles</title> </head> <body> <form runat="server" id="PageForm"> <h3>View User Roles</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br /> <table border="0" cellspacing="4"> <tr> <td valign="top"><asp:ListBox id="UsersListBox" DataTextField="Username" Rows="8" AutoPostBack="true" runat="server" /></td> <td valign="top"><asp:GridView runat="server" CellPadding="4" id="UserRolesGrid" AutoGenerateColumns="false" Gridlines="None" CellSpacing="0" > <HeaderStyle BackColor="navy" ForeColor="white" /> <Columns> <asp:TemplateField HeaderText="Roles" > <ItemTemplate> <%# Container.DataItem.ToString() %> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView></td> </tr> </table> </form> </body> </html>
Available since 2.0