WebPartManager.AuthorizeWebPart Událost

Definice

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

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 AuthorizeWebPart události pro událost, která automaticky přepíše výchozí OnAuthorizeWebPart metodu.

Kód v metodě zkontroluje mgr1_AuthorizeWebPart , jestli mají ovládací prvky na stránce nastavené odpovídající AuthorizationFilter hodnoty vlastností, user a pokud ano, vrátí true, což znamená, že budou autorizovány a přidány na stránku. Předpokládá se, že výchozí přístup je povolit uživatelům zobrazení ovládacích prvků se stránkou v oboru přizpůsobení uživatele. Všimněte si ale, že v příkladu má jeden z ovládacích prvků hodnotu AuthorizationFilter vlastnosti nastavenou na admin. Vývojáři můžou tento filtr umístit na specializovaný ovládací prvek, který byl navržen tak, aby ho viděli jenom správci. Tento ovládací prvek během události neprojde kontrolou AuthorizeWebPart autorizace a nezobrazí se. Všimněte si, že ovládací prvky, které nemají nastavenou 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

Událost AuthorizeWebPart nastane při každém WebPart přidání ovládacího prvku na stránku. Existuje několik běžných scénářů, kdy je možné 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 byla nastavena jeho AuthorizationFilter vlastnost, a pokud ano, zda má ovládací prvek oprávnění k přidání na stránku.

Vývojáři můžou pro AuthorizeWebPart událost vytvořit obslužné rutiny událostí, které poskytují 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 se na stránku nepřidá.

Platí pro

Viz také