WebPartManager.AuthorizeWebPart Gebeurtenis

Definitie

Treedt op wanneer de IsAuthorized methode wordt aangeroepen om te bepalen of een WebPart of serverbeheer kan worden toegevoegd aan een pagina.

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 

Gebeurtenistype

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een aangepaste gebeurtenis-handler instelt voor de AuthorizeWebPart gebeurtenis, waardoor de standaardmethode OnAuthorizeWebPart automatisch wordt overschreven.

De code in de mgr1_AuthorizeWebPart methode controleert of de besturingselementen op de pagina hun respectieve AuthorizationFilter eigenschapswaarden hebben ingesteld user en, indien dat het het volgende is, retourneert true, wat betekent dat ze worden geautoriseerd en toegevoegd aan de pagina. Hierbij wordt ervan uitgegaan dat gebruikers besturingselementen kunnen weergeven met een pagina in het bereik voor persoonlijke instellingen van gebruikers. U ziet echter dat in het voorbeeld van een van de besturingselementen de eigenschapswaarde is AuthorizationFilter ingesteld op admin. Ontwikkelaars kunnen dit filter plaatsen op een speciaal besturingselement dat alleen gebruikers met beheerdersrechten kunnen zien. Dit besturingselement mislukt de autorisatiecontrole tijdens de AuthorizeWebPart gebeurtenis en wordt niet weergegeven. Houd er rekening mee dat besturingselementen die niet over de eigenschappenset beschikken, ook worden weergegeven; ze worden ervan uitgegaan dat ze geen deel uitmaken van een filterscenario omdat hun AuthorizationFilter eigenschappen niet zijn ingesteld.

<%@ 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>

Opmerkingen

De AuthorizeWebPart gebeurtenis treedt op wanneer een WebPart besturingselement wordt toegevoegd aan een pagina. Er zijn een aantal veelvoorkomende scenario's waarin een besturingselement kan worden toegevoegd aan een pagina. Zie de sectie Opmerkingen voor de IsAuthorized methode voor een volledige beschrijving hiervan. Wanneer een besturingselement wordt toegevoegd, moet het worden gecontroleerd om te zien of AuthorizationFilter de eigenschap is ingesteld en, als dat het zo is, of het besturingselement is gemachtigd om aan de pagina te worden toegevoegd.

Ontwikkelaars kunnen gebeurtenis-handlers voor de AuthorizeWebPart gebeurtenis maken om te filteren op besturingselementen. Als de eigenschapswaarde van AuthorizationFilter een besturingselement niet voldoet aan de criteria in de gebeurtenis-handlercode, wordt het besturingselement niet toegevoegd aan de pagina.

Van toepassing op

Zie ook