WebPartManager.AuthorizeWebPart Événement
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.
Se produit lorsque la méthode IsAuthorized est appelée pour déterminer si un WebPart ou contrôle serveur peut être ajouté à une page.
public:
event System::Web::UI::WebControls::WebParts::WebPartAuthorizationEventHandler ^ AuthorizeWebPart;
public event System.Web.UI.WebControls.WebParts.WebPartAuthorizationEventHandler AuthorizeWebPart;
member this.AuthorizeWebPart : System.Web.UI.WebControls.WebParts.WebPartAuthorizationEventHandler
Public Custom Event AuthorizeWebPart As WebPartAuthorizationEventHandler
Type d'événement
Exemples
L’exemple de code suivant montre comment définir un gestionnaire d’événements personnalisé pour l’événement AuthorizeWebPart , qui remplace automatiquement la méthode par défaut OnAuthorizeWebPart .
Le code dans la mgr1_AuthorizeWebPart
méthode vérifie si les contrôles de la page ont leurs valeurs de propriété respectives AuthorizationFilter définies user
sur et, si c’est le cas, retourne true
, ce qui signifie qu’ils seront autorisés et ajoutés à la page. Cela suppose que l’approche par défaut consiste à autoriser les utilisateurs à afficher des contrôles avec une page dans l’étendue de la personnalisation utilisateur. Notez toutefois que dans l’exemple, la valeur de propriété AuthorizationFilter de l’un des contrôles est définie sur admin
. Les développeurs peuvent placer ce filtre sur un contrôle spécialisé conçu pour les utilisateurs administratifs uniquement. Ce contrôle échoue à la vérification d’autorisation pendant l’événement AuthorizeWebPart et ne s’affiche pas. Notez que les contrôles qui n’ont pas la propriété définie sont également affichés ; ils sont supposés ne pas faire partie d’un scénario de filtrage, car leurs AuthorizationFilter propriétés ne sont pas définies.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void mgr1_AuthorizeWebPart(object sender,
WebPartAuthorizationEventArgs e)
{
if (!String.IsNullOrEmpty(e.AuthorizationFilter))
{
if (e.AuthorizationFilter == "user")
e.IsAuthorized = true;
else
e.IsAuthorized = false;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr1" runat="server"
OnAuthorizeWebPart="mgr1_AuthorizeWebPart" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
ID="BulletedList1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorite Links"
AuthorizationFilter="admin">
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
<asp:Label ID="Label1" runat="server"
Text="Hello World"
Title="Filter Test"
AuthorizationFilter="admin" />
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar"/>
</ZoneTemplate>
</asp:WebPartZone>
</div>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub mgr1_AuthorizeWebPart(ByVal sender As Object, _
ByVal e As WebPartAuthorizationEventArgs)
If Not String.IsNullOrEmpty(e.AuthorizationFilter) Then
If e.AuthorizationFilter = "user" Then
e.IsAuthorized = True
Else
e.IsAuthorized = False
End If
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr1" runat="server"
OnAuthorizeWebPart="mgr1_AuthorizeWebPart" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
ID="BulletedList1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorite Links"
AuthorizationFilter="admin">
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
<asp:Label ID="Label1" runat="server"
Text="Hello World"
Title="Filter Test"
AuthorizationFilter="admin" />
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar"/>
</ZoneTemplate>
</asp:WebPartZone>
</div>
</form>
</body>
</html>
Remarques
L’événement AuthorizeWebPart se produit chaque fois qu’un WebPart contrôle est ajouté à une page. Il existe un certain nombre de scénarios courants où un contrôle peut être ajouté à une page. Pour obtenir une description complète de ceux-ci, consultez la section Remarques pour la IsAuthorized méthode. Lorsqu’un contrôle est ajouté, il doit être vérifié pour voir si sa AuthorizationFilter propriété a été définie et, si c’est le cas, si le contrôle est autorisé à être ajouté à la page.
Les développeurs peuvent créer des gestionnaires d’événements pour l’événement AuthorizeWebPart , afin de fournir un filtrage pour les contrôles. Si la valeur de propriété d’un AuthorizationFilter contrôle ne répond pas aux critères du code du gestionnaire d’événements, le contrôle n’est pas ajouté à la page.