Partager via


WebPartManager.AuthorizeWebPart Événement

Définition

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.

S’applique à

Voir aussi