WebPartManager.AuthorizeWebPart Ereignis

Definition

Tritt ein, wenn die IsAuthorized-Methode aufgerufen wird, um zu bestimmen, ob einer Seite ein WebPart-Steuerelement oder Serversteuerelement hinzugefügt werden kann.

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 

Ereignistyp

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein benutzerdefinierter Ereignishandler für das AuthorizeWebPart Ereignis festgelegt wird, der die Standardmethode OnAuthorizeWebPart automatisch außer Kraft setzt.

Der Code in der mgr1_AuthorizeWebPart -Methode überprüft, ob für die Steuerelemente auf der Seite ihre jeweiligen AuthorizationFilter Eigenschaftswerte festgelegt user sind, und gibt, falls ja, zurück true, was bedeutet, dass sie autorisiert und der Seite hinzugefügt werden. Dies setzt voraus, dass der Standardansatz darin besteht, Benutzern das Anzeigen von Steuerelementen mit einer Seite im Benutzerpersonalisierungsbereich zu ermöglichen. Beachten Sie jedoch, dass im Beispiel eines der Steuerelemente seinen AuthorizationFilter Eigenschaftswert auf adminfestgelegt hat. Entwickler können diesen Filter für ein spezialisiertes Steuerelement platzieren, das nur für Administratoren angezeigt werden kann. Dieses Steuerelement schlägt bei der Autorisierungsprüfung während des Ereignisses AuthorizeWebPart fehl und wird nicht angezeigt. Beachten Sie, dass Auch Steuerelemente angezeigt werden, für die die Eigenschaft nicht festgelegt ist. Es wird davon ausgegangen, dass sie nicht Teil eines Filterszenarios sind, da ihre AuthorizationFilter Eigenschaften nicht festgelegt sind.

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

Hinweise

Das AuthorizeWebPart Ereignis tritt auf, wenn einer Seite ein WebPart Steuerelement hinzugefügt wird. Es gibt eine Reihe gängiger Szenarien, in denen einer Seite ein Steuerelement hinzugefügt werden kann. Eine vollständige Beschreibung dieser Informationen finden Sie im Abschnitt Hinweise für die IsAuthorized -Methode. Wenn ein Steuerelement hinzugefügt wird, muss es überprüft werden, um festzustellen, ob seine AuthorizationFilter Eigenschaft festgelegt wurde und, falls ja, ob das Steuerelement autorisiert ist, der Seite hinzugefügt zu werden.

Entwickler können Ereignishandler für das AuthorizeWebPart Ereignis erstellen, um die Filterung für Steuerelemente bereitzustellen. Wenn der Eigenschaftswert eines Steuerelements AuthorizationFilter die Kriterien im Ereignishandlercode nicht erfüllt, wird das Steuerelement der Seite nicht hinzugefügt.

Gilt für:

Weitere Informationen