Partilhar via


WebPartManager.AuthorizeWebPart Evento

Definição

Ocorre quando o método IsAuthorized é chamado para determinar se um WebPart ou um controle de servidor pode ser adicionado a uma página.

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 

Tipo de evento

Exemplos

O exemplo de código a seguir demonstra como definir um manipulador de eventos personalizado para o AuthorizeWebPart evento, que substitui automaticamente o método padrão OnAuthorizeWebPart .

O código no mgr1_AuthorizeWebPart método verifica se os controles na página têm seus respectivos AuthorizationFilter valores de propriedade definidos como user e, nesse caso, retorna true, o que significa que eles serão autorizados e adicionados à página. Isso pressupõe que a abordagem padrão é permitir que os usuários exibam controles com uma página no escopo de personalização do usuário. Observe, no entanto, que, no exemplo, um dos controles tem seu AuthorizationFilter valor de propriedade definido como admin. Os desenvolvedores podem colocar esse filtro em um controle especializado que foi projetado apenas para usuários administrativos verem. Esse controle falhará na verificação de autorização durante o AuthorizeWebPart evento e não será exibido. Observe que os controles que não têm o conjunto de propriedades também são exibidos; supõe-se que eles não fazem parte de um cenário de filtragem porque suas AuthorizationFilter propriedades não estão definidas.

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

Comentários

O AuthorizeWebPart evento ocorre sempre que um WebPart controle está sendo adicionado a uma página. Há vários cenários comuns em que um controle pode ser adicionado a uma página. Para obter uma descrição completa deles, consulte a seção Comentários para o IsAuthorized método . Quando um controle é adicionado, ele deve ser verificado para ver se sua AuthorizationFilter propriedade foi definida e, nesse caso, se o controle está autorizado a ser adicionado à página.

Os desenvolvedores podem criar manipuladores de eventos para o AuthorizeWebPart evento, para fornecer filtragem para controles. Se o valor da propriedade de AuthorizationFilter um controle não atender aos critérios no código do manipulador de eventos, o controle não será adicionado à página.

Aplica-se a

Confira também