Roles.GetRolesForUser Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient une liste des rôles dans lesquels figure l'utilisateur.
Surcharges
GetRolesForUser() |
Obtient une liste des rôles dans lesquels figure l'utilisateur actuellement connecté. |
GetRolesForUser(String) |
Obtient une liste des rôles dans lesquels figure l'utilisateur. |
GetRolesForUser()
Obtient une liste des rôles dans lesquels figure l'utilisateur actuellement connecté.
public:
static cli::array <System::String ^> ^ GetRolesForUser();
public static string[] GetRolesForUser ();
static member GetRolesForUser : unit -> string[]
Public Shared Function GetRolesForUser () As String()
Retours
Tableau de chaînes contenant les noms de tous les rôles dans lesquels figure l'utilisateur actuellement connecté.
Exceptions
Aucun utilisateur n'est actuellement connecté.
La gestion des rôles n'est pas activée.
Exemples
L’exemple de code suivant utilise la GetRolesForUser méthode pour récupérer une liste de rôles pour un utilisateur spécifié et lier les rôles retournés à un System.Web.UI.WebControls.GridView contrôle. Pour obtenir un exemple de fichier Web.config qui active la gestion des rôles, consultez Roles.
<%@ 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;
public void Page_Load()
{
if (!IsPostBack)
{
// Bind roles to GridView.
try
{
rolesArray = Roles.GetRolesForUser();
}
catch (HttpException e)
{
Msg.Text = "There is no current logged on user. Role information cannot be retrieved.";
return;
}
UserRolesGrid.Columns[0].HeaderText = "Roles for " + User.Identity.Name;
UserRolesGrid.DataSource = rolesArray;
UserRolesGrid.DataBind();
}
}
</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: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>
<%@ Page Language="VB" %>
<%@ 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">
Dim rolesArray() As String
Public Sub Page_Load()
If Not IsPostBack Then
' Bind roles to GridView.
Try
rolesArray = Roles.GetRolesForUser()
Catch e As HttpException
Msg.Text = "There is no current logged on user. Role information cannot be retrieved."
Return
End Try
UserRolesGrid.Columns(0).HeaderText = "Roles for " & User.Identity.Name
UserRolesGrid.DataSource = rolesArray
UserRolesGrid.DataBind()
End If
End Sub
</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: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>
Remarques
La GetRolesForUser méthode appelle la RoleProvider.GetRolesForUser méthode du fournisseur de rôles par défaut pour récupérer à partir de la source de données les rôles auxquels se trouve l’utilisateur actuellement connecté. L’utilisateur actuellement connecté est identifié par la HttpContext.User propriété du actuel System.Web.HttpContextou par Thread.CurrentPrincipal pour les environnements d’hébergement non HTTP. Si aucun utilisateur n’est connecté, une exception est levée. Seuls les rôles de l’application spécifiée dans la ApplicationName propriété sont récupérés.
Si CacheRolesInCookie a la valeur true
, les résultats de la GetRolesForUser méthode peuvent être retournés à partir du cache de rôle plutôt que du fournisseur de rôles spécifié.
Voir aussi
S’applique à
GetRolesForUser(String)
Obtient une liste des rôles dans lesquels figure l'utilisateur.
public:
static cli::array <System::String ^> ^ GetRolesForUser(System::String ^ username);
public static string[] GetRolesForUser (string username);
static member GetRolesForUser : string -> string[]
Public Shared Function GetRolesForUser (username As String) As String()
Paramètres
- username
- String
Utilisateur pour lequel retourner une liste de rôles.
Retours
Tableau de chaînes contenant le nom de tous les rôles dans lesquels figure l'utilisateur spécifié.
Exceptions
username
a la valeur null
.
username
contient une virgule (,).
La gestion des rôles n'est pas activée.
Exemples
L’exemple de code suivant utilise la GetRolesForUser méthode pour récupérer une liste de rôles pour un utilisateur spécifié et lier les rôles retournés à un System.Web.UI.WebControls.GridView contrôle. Pour obtenir un exemple de fichier Web.config qui active la gestion des rôles, consultez Roles.
<%@ 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;
public void Page_Load()
{
if (!IsPostBack)
{
// Bind roles to GridView.
try
{
rolesArray = Roles.GetRolesForUser();
}
catch (HttpException e)
{
Msg.Text = "There is no current logged on user. Role information cannot be retrieved.";
return;
}
UserRolesGrid.Columns[0].HeaderText = "Roles for " + User.Identity.Name;
UserRolesGrid.DataSource = rolesArray;
UserRolesGrid.DataBind();
}
}
</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: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>
<%@ Page Language="VB" %>
<%@ 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">
Dim rolesArray() As String
Public Sub Page_Load()
If Not IsPostBack Then
' Bind roles to GridView.
Try
rolesArray = Roles.GetRolesForUser()
Catch e As HttpException
Msg.Text = "There is no current logged on user. Role information cannot be retrieved."
Return
End Try
UserRolesGrid.Columns(0).HeaderText = "Roles for " & User.Identity.Name
UserRolesGrid.DataSource = rolesArray
UserRolesGrid.DataBind()
End If
End Sub
</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: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>
Remarques
La GetRolesForUser méthode appelle la RoleProvider.GetRolesForUser méthode du fournisseur de rôles par défaut pour récupérer à partir de la source de données les rôles dans proviennent de l’utilisateur. Seuls les rôles de l’application spécifiée dans la ApplicationName propriété sont récupérés.
Si username
est égal à l’utilisateur connecté actuel et CacheRolesInCookie a la valeur true
, les résultats de la GetRolesForUser méthode peuvent être retournés à partir du cache de rôle plutôt que du spécifié Provider.