WebPartManager.AuthorizeWebPart Zdarzenie

Definicja

Występuje, gdy IsAuthorized metoda jest wywoływana w celu określenia, czy można dodać kontrolkę WebPart lub serwer do strony.

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 

Typ zdarzenia

Przykłady

Poniższy przykład kodu pokazuje, jak ustawić niestandardową procedurę obsługi zdarzeń dla AuthorizeWebPart zdarzenia, która automatycznie zastępuje metodę domyślną OnAuthorizeWebPart .

Kod w metodzie mgr1_AuthorizeWebPart sprawdza, czy kontrolki na stronie mają odpowiednie AuthorizationFilter wartości właściwości ustawione na user i, jeśli tak, zwraca truewartość , co oznacza, że zostaną autoryzowane i dodane do strony. Przyjęto założenie, że domyślnym podejściem jest umożliwienie użytkownikom wyświetlania kontrolek ze stroną w zakresie personalizacji użytkownika. Zwróć jednak uwagę, że w przykładzie jedna z kontrolek ma jej AuthorizationFilter wartość właściwości ustawioną na adminwartość . Deweloperzy mogą umieścić ten filtr na wyspecjalizowanej kontrolce, która została zaprojektowana tylko dla użytkowników administracyjnych do wyświetlenia. Ta kontrolka zakończy się niepowodzeniem podczas sprawdzania AuthorizeWebPart autoryzacji podczas zdarzenia i nie będzie wyświetlana. Należy pamiętać, że wyświetlane są również kontrolki, które nie mają zestawu właściwości; Zakłada się, że nie są one częścią scenariusza filtrowania, ponieważ ich AuthorizationFilter właściwości nie są ustawione.

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

Uwagi

Zdarzenie AuthorizeWebPart występuje za każdym razem, gdy kontrolka WebPart jest dodawana do strony. Istnieje wiele typowych scenariuszy, w których można dodać kontrolkę do strony. Aby zapoznać się z pełnym opisem tych informacji, zobacz sekcję Uwagi dla IsAuthorized metody . Po dodaniu kontrolki należy sprawdzić, czy jej AuthorizationFilter właściwość została ustawiona i, jeśli tak, czy kontrolka ma być autoryzowana do dodania do strony.

Deweloperzy mogą tworzyć programy obsługi zdarzeń AuthorizeWebPart dla zdarzenia, aby zapewnić filtrowanie kontrolek. Jeśli wartość właściwości kontrolki AuthorizationFilter nie spełnia kryteriów w kodzie procedury obsługi zdarzeń, kontrolka nie jest dodawana do strony.

Dotyczy

Zobacz też