WebPartManager.AuthorizeWebPart Událost

Definice

Nastane, IsAuthorized když je volána metoda k určení, zda WebPart lze přidat ovládací prvek serveru na stránku.

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 

Event Type

Příklady

Následující příklad kódu ukazuje, jak nastavit vlastní obslužnou rutinu události pro AuthorizeWebPart událost, která automaticky přepíše výchozí OnAuthorizeWebPart metodu.

Kód v mgr1_AuthorizeWebPart metodě zkontroluje, zda ovládací prvky na stránce mají své odpovídající AuthorizationFilter hodnoty vlastností nastaveny user , a pokud ano, vrátí true, což znamená, že budou autorizované a přidány na stránku. Předpokládá se, že výchozí přístup je umožnit uživatelům zobrazit ovládací prvky se stránkou v oboru přizpůsobení uživatele. Všimněte si však, že v příkladu některého z ovládacích prvků má jeho AuthorizationFilter vlastnost hodnotu nastavena na admin. Vývojáři můžou tento filtr umístit do specializovaného ovládacího prvku, který byl navržený jenom pro správce, aby ho viděli. Tento ovládací prvek selže při kontrole autorizace během AuthorizeWebPart události a nezobrazí se. Všimněte si, že ovládací prvky, které nemají sadu vlastností, jsou zobrazeny také; Předpokládá se, že nejsou součástí scénáře filtrování, protože jejich AuthorizationFilter vlastnosti nejsou nastaveny.

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

Poznámky

K AuthorizeWebPart události dochází při každém WebPart přidání ovládacího prvku na stránku. Existuje řada běžných scénářů, kdy lze ovládací prvek přidat na stránku. Úplný popis najdete v části Poznámky pro metodu IsAuthorized . Při přidání ovládacího prvku je nutné zkontrolovat, zda AuthorizationFilter byla jeho vlastnost nastavena, a pokud ano, zda je ovládací prvek oprávněn k přidání na stránku.

Vývojáři můžou pro AuthorizeWebPart událost vytvářet obslužné rutiny událostí a poskytovat filtrování ovládacích prvků. Pokud hodnota vlastnosti ovládacího prvku AuthorizationFilter nesplňuje kritéria v kódu obslužné rutiny události, ovládací prvek není přidán na stránku.

Platí pro

Viz také