WebPartManager.AuthorizeWebPart Evento

Definizione

Si verifica quando viene chiamato il metodo IsAuthorized per determinare se è possibile aggiungere a una pagina un controllo WebPart o un controllo server.Occurs when the IsAuthorized method is called to determine whether a WebPart or server control can be added to a page.

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 

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come impostare un gestore eventi AuthorizeWebPart personalizzato per l'evento, che sostituisce OnAuthorizeWebPart automaticamente il metodo predefinito.The following code example demonstrates how to set a custom event handler for the AuthorizeWebPart event, which automatically overrides the default OnAuthorizeWebPart method.

Il codice nel mgr1_AuthorizeWebPart metodo controlla se i controlli nella pagina hanno i rispettivi AuthorizationFilter valori di user proprietà impostati su e, in caso affermativo, truerestituisce, il che significa che saranno autorizzati e aggiunti alla pagina.The code in the mgr1_AuthorizeWebPart method checks whether the controls on the page have their respective AuthorizationFilter property values set to user and, if so, returns true, which means that they will be authorized and added to the page. Si presuppone che l'approccio predefinito consenta agli utenti di visualizzare i controlli con una pagina nell'ambito di personalizzazione dell'utente.This assumes the default approach is to allow users to view controls with a page in user personalization scope. Si noti, tuttavia, che nell'esempio uno dei controlli ha AuthorizationFilter il valore della proprietà impostato su. adminNotice, however, that in the example one of the controls has its AuthorizationFilter property value set to admin. Gli sviluppatori possono inserire questo filtro in un controllo specializzato progettato solo per gli utenti amministratori.Developers might place this filter on a specialized control that was designed for only administrative users to see. Questo controllo non riuscirà a eseguire il controllo AuthorizeWebPart delle autorizzazioni durante l'evento e non verrà visualizzato.This control will fail the authorization check during the AuthorizeWebPart event, and will not be displayed. Si noti che vengono visualizzati anche i controlli che non hanno il set di proprietà. si presuppone che non facciano parte di uno scenario di filtro perché AuthorizationFilter le relative proprietà non sono impostate.Note that controls that do not have the property set are displayed as well; they are assumed not to be part of a filtering scenario because their AuthorizationFilter properties are not set.

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

Commenti

L' AuthorizeWebPart evento si verifica ogni WebPart volta che un controllo viene aggiunto a una pagina.The AuthorizeWebPart event occurs whenever a WebPart control is being added to a page. Esistono diversi scenari comuni in cui è possibile aggiungere un controllo a una pagina.There are a number of common scenarios where a control can be added to a page. Per una descrizione completa di questi, vedere la sezione Osservazioni per il IsAuthorized metodo.For a full description of these, see the Remarks section for the IsAuthorized method. Quando viene aggiunto un controllo, è necessario verificare se la relativa AuthorizationFilter proprietà è stata impostata e, in tal caso, se il controllo è autorizzato a essere aggiunto alla pagina.When a control is added, it must be checked to see whether its AuthorizationFilter property has been set and, if so, whether the control is authorized to be added to the page.

Gli sviluppatori possono creare gestori di eventi per AuthorizeWebPart l'evento, per fornire filtri per i controlli.Developers can create event handlers for the AuthorizeWebPart event, to provide filtering for controls. Se il valore della AuthorizationFilter proprietà di un controllo non soddisfa i criteri nel codice del gestore eventi, il controllo non viene aggiunto alla pagina.If a control's AuthorizationFilter property value does not meet the criteria in the event handler code, the control is not added to the page.

Si applica a

Vedi anche