WebPartManager.IsAuthorized Metodo

Definizione

Determina se un controllo WebPart o un altro controllo server può essere aggiunto a una pagina.

Overload

IsAuthorized(WebPart)

Esegue i passaggi iniziali della procedura di determinazione delle autorizzazioni per un controllo da aggiungere a una pagina.

IsAuthorized(Type, String, String, Boolean)

Esegue i passaggi finali della procedura di determinazione delle autorizzazioni per un controllo da aggiungere a una pagina.

Commenti

Parte della flessibilità della funzionalità Web part è la possibilità di aggiungere controlli server alle pagine Web in fase di esecuzione. Esistono diversi scenari comuni in cui è possibile aggiungere un controllo server,che può essere un controllo personalizzato, un controllo server personalizzato WebPart , un controllo utente o un controllo ASP.NET.

Negli scenari comuni seguenti, il set di controlli Web part tenta di aggiungere controlli server a una pagina e il IsAuthorized metodo viene chiamato per autorizzarli:

  • Quando viene aggiunto un controllo server dichiarandolo nel markup di una pagina Web all'interno di una WebPartZoneBase zona.

  • Quando un controllo server viene aggiunto a livello di codice a una zona.

  • Quando un utente importa un controllo server in un catalogo web part di controlli.

  • Quando un controllo server esistente viene caricato dall'archivio dati di personalizzazione.

  • Quando un controllo server viene aggiunto a un controllo per renderlo disponibile in un DeclarativeCatalogPart catalogo di controlli server.

In ogni scenario in cui vengono aggiunti i controlli, il IsAuthorized metodo viene chiamato per assicurarsi che tutti i criteri di autorizzazione siano stati soddisfatti per consentire l'aggiunta di un controllo. Quando un controllo è autorizzato, viene aggiunto normalmente come sarebbe se non esistesse uno scenario di filtro. Quando un controllo non è autorizzato, il set di controlli Web part può rispondere in diversi modi, a seconda del contesto. Il set di controlli può non riuscire a aggiungere una parte non autorizzata (se non è necessario informare l'utente), può visualizzare un messaggio di errore oppure può aggiungere un'istanza della UnauthorizedWebPart classe come segnaposto. Questo oggetto segnaposto non è visibile nella pagina, ma è visibile nel codice sorgente della pagina per indicare che è stato escluso un controllo non autorizzato.

La determinazione del fatto che un controllo sia autorizzato è il filtro di autorizzazione. Un filtro di autorizzazione è una funzionalità nel set di controlli Web part che consente agli sviluppatori di escludere da una pagina tutti i controlli che non soddisfano i criteri specificati.

Per creare uno scenario di filtro, gli sviluppatori devono eseguire due operazioni. Prima di tutto, devono assegnare un valore stringa (il valore può essere arbitrario) alla AuthorizationFilter proprietà di ogni WebPart controllo che pianificano di usare nello scenario. Possono anche assegnare un valore a questa proprietà per altri tipi di controlli server che non WebPart sono controlli, perché se vengono posizionati in WebPartZoneBase zone, tali controlli vengono sottoposti a wrapping con un GenericWebPart controllo in fase di esecuzione e questo controllo eredita la AuthorizationFilter proprietà.

Il secondo passaggio necessario per la creazione di uno scenario di filtro consiste nell'eseguire l'override del IsAuthorized(Type, String, String, Boolean) metodo o per creare un gestore eventi per l'evento AuthorizeWebPart . In questi metodi uno sviluppatore può controllare la AuthorizationFilter proprietà e se il valore indica che il controllo non deve essere autorizzato, lo sviluppatore assicura che il IsAuthorized metodo restituisca un valore di false.

Nota

Per esempi di codice e una descrizione di come configurare uno scenario di filtro personalizzato usando il IsAuthorized metodo, vedere gli argomenti per gli overload del metodo.

IsAuthorized(WebPart)

Esegue i passaggi iniziali della procedura di determinazione delle autorizzazioni per un controllo da aggiungere a una pagina.

public:
 bool IsAuthorized(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
public bool IsAuthorized (System.Web.UI.WebControls.WebParts.WebPart webPart);
member this.IsAuthorized : System.Web.UI.WebControls.WebParts.WebPart -> bool
Public Function IsAuthorized (webPart As WebPart) As Boolean

Parametri

webPart
WebPart

Controllo WebPart o un altro controllo server di cui vengono verificate le autorizzazioni.

Restituisce

Valore Boolean che indica se è possibile aggiungere webPart a una pagina.

Eccezioni

webPart è null.

Esempio

Nell'esempio di codice seguente viene illustrato come chiamare il IsAuthorized(WebPart) metodo dal codice per determinare se un controllo è autorizzato ad essere aggiunto a una pagina.

L'esempio di codice include tre parti:

  • Controllo personalizzato WebPartManager che esegue l'override del IsAuthorized metodo.

  • Pagina Web che crea un filtro per un WebPart controllo.

  • Spiegazione di come eseguire l'esempio di codice.

Questo esempio di codice usa un controllo personalizzato WebPartManager che esegue l'override del IsAuthorized(Type, String, String, Boolean) metodo di overload per fornire una gestione personalizzata della AuthorizationFilter proprietà. Questo controllo controlla il valore della proprietà e admin , se il valore è presente, autorizza il controllo. Se un controllo ha un valore diverso, non è autorizzato; anche i controlli senza il valore della proprietà sono autorizzati, poiché si presuppone che non facciano parte dello scenario di filtro.

Per eseguire questo esempio di codice, è necessario compilare questo codice sorgente. È possibile compilarlo in modo esplicito e inserire l'assembly risultante nella cartella Bin del sito Web o nella global assembly cache. In alternativa, è possibile inserire il codice sorgente nella cartella App_Code del sito, in cui verrà compilato dinamicamente in fase di esecuzione. Questo esempio di codice usa il metodo di compilazione dinamico. Per una procedura dettagliata che illustra come compilare, vedere Procedura dettagliata: Sviluppo e uso di un controllo server Web personalizzato.

using System;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Samples.AspNet.CS.Controls
{
  public class MyManagerAuthorize : WebPartManager
  {
    public override bool IsAuthorized(Type type, string path, string authorizationFilter, bool isShared)
    {
      if (!String.IsNullOrEmpty(authorizationFilter))
      {
        if (authorizationFilter == "admin")
          return true;
        else
          return false;
      }
      else
            {
                return true;
            }
        }
  }
}
Imports System.Web
Imports System.Web.Security
Imports System.Security.Permissions
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Namespace Samples.AspNet.VB.Controls

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class MyManagerAuthorize
    Inherits WebPartManager

    Public Overrides Function IsAuthorized(ByVal type As Type, _
      ByVal path As String, ByVal authorizationFilter As String, _
      ByVal isShared As Boolean) As Boolean

      If Not String.IsNullOrEmpty(authorizationFilter) Then
        If authorizationFilter = "admin" Then
          Return True
        Else
          Return False
        End If
      Else
        Return True
      End If

    End Function

  End Class

End Namespace

La seconda parte dell'esempio di codice crea un filtro che può potenzialmente escludere un controllo. La pagina Web seguente contiene tre controlli server ASP.NET in un <asp:webpartzone> elemento. Si noti che i primi e i secondi controlli hanno le relative AuthorizationFilter proprietà impostate su valori diversi e il terzo non assegna la proprietà. Questo valore di autorizzazione può essere controllato in fase di esecuzione e il controllo può essere aggiunto alla pagina se il filtro corrisponde ai criteri impostati dallo sviluppatore. Si noti anche che nel Page_Load metodo il codice chiama il IsAuthorized(WebPart) metodo per determinare se ognuno dei controlli è autorizzato e, in caso affermativo, imposta la proprietà di ExportMode ogni controllo.

<%@ Page Language="C#" %>
<%@ Register Namespace="Samples.AspNet.CS.Controls" 
    TagPrefix="aspSample"%>


<!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 Page_Load(object sender, EventArgs e)
  {
    foreach (WebPart part in mgr1.WebParts)
    {
      if (mgr1.IsAuthorized(part))
        part.ExportMode = WebPartExportMode.All;
    }
    
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <aspSample:MyManagerAuthorize ID="mgr1" runat="server"  />
      <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"
            AuthorizationFilter="user" />
          <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </div>
    </form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ Register Namespace="Samples.AspNet.VB.Controls" 
    TagPrefix="aspSample"%>


<!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 Page_Load(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    Dim part As WebPart
    For Each part In mgr1.WebParts
      If mgr1.IsAuthorized(part) Then
        part.ExportMode = WebPartExportMode.All
      End If
    Next
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <aspSample:MyManagerAuthorize ID="mgr1" runat="server"  />
      <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"
            AuthorizationFilter="user" />
          <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </div>
    </form>
</body>
</html>

Si noti che per il funzionamento dell'esempio di codice è necessario aggiungere un'impostazione nel file Web.config per abilitare l'esportazione dei file di descrizione web part. Assicurarsi di avere un file Web.config nella stessa directory della pagina Web per questo esempio di codice. All'interno della <system.web> sezione assicurarsi che sia presente un elemento con un <webParts>enableExport attributo impostato su true, come nel markup seguente.

<webParts enableExport="true">

...

</webParts>

Dopo aver caricato la pagina in un browser, si noti che il primo controllo viene visualizzato, perché corrisponde ai criteri nel metodo sottoposto a override. Il secondo controllo non viene aggiunto alla pagina, perché è escluso dal filtro. Il terzo controllo viene aggiunto anche perché non ha il relativo AuthorizationFilter set di proprietà. Si noti che se si fa clic sull'icona del menu verbi nella barra del titolo di entrambi i controlli, è possibile esportare entrambi perché sono stati assegnati i rispettivi ExportMode valori di proprietà.

Commenti

Il IsAuthorized metodo è il metodo iniziale chiamato dal controllo Web part impostato per controllare l'autorizzazione per un WebPart controllo. webPart Accetta come parametro e inizia un processo che determina in definitiva se il controllo verrà aggiunto a una pagina. Chiamare questo metodo dal codice direttamente quando è necessario determinare se un determinato controllo è autorizzato.

Questo metodo esegue le attività iniziali per determinare se il controllo eredita dalla WebPart classe o è un GenericWebPart controllo e, in tal caso, quale tipo di controllo figlio contiene. Per completare l'attività di autorizzazione, chiama il IsAuthorized(Type, String, String, Boolean) metodo di overload.

Note per i chiamanti

Questo metodo viene chiamato direttamente dal codice. Se si vuole ottenere un maggiore controllo programmatico sul processo di autorizzazione, è possibile eseguire l'override del IsAuthorized(Type, String, String, Boolean) metodo di overload.

Vedi anche

Si applica a

IsAuthorized(Type, String, String, Boolean)

Esegue i passaggi finali della procedura di determinazione delle autorizzazioni per un controllo da aggiungere a una pagina.

public:
 virtual bool IsAuthorized(Type ^ type, System::String ^ path, System::String ^ authorizationFilter, bool isShared);
public virtual bool IsAuthorized (Type type, string path, string authorizationFilter, bool isShared);
abstract member IsAuthorized : Type * string * string * bool -> bool
override this.IsAuthorized : Type * string * string * bool -> bool
Public Overridable Function IsAuthorized (type As Type, path As String, authorizationFilter As String, isShared As Boolean) As Boolean

Parametri

type
Type

Oggetto Type del controllo per cui viene verificata l'autorizzazione.

path
String

Percorso applicazione relativo del file di origine per il controllo di cui è in corso l'autorizzazione, se si tratta di un controllo utente.

authorizationFilter
String

Valore di stringa arbitrario assegnato alla proprietà AuthorizationFilter di un controllo WebPart, utilizzato per verificare se un controllo può essere aggiunto a una pagina.

isShared
Boolean

Indica se il controllo di cui viene verificata l'autorizzazione è un controllo condiviso, ovvero è visibile a molti o tutti gli utenti dell'applicazione e il valore della relativa proprietà IsShared è impostato su true.

Restituisce

Valore Boolean che indica se un controllo dispone dell'autorizzazione all'aggiunta a una pagina.

Eccezioni

type è null.

type è un controllo utente e path è null o una stringa vuota ("").

-oppure-

type non è un controllo utente e a path è assegnato un valore.

Esempio

Nell'esempio di codice seguente viene illustrato come eseguire l'override del IsAuthorized metodo per determinare se un controllo è autorizzato a essere aggiunto a una pagina.

Il primo passaggio consiste nel creare un filtro che può potenzialmente escludere un controllo. La pagina Web seguente contiene tre controlli server ASP.NET in un <asp:webpartzone> elemento. Si noti che i primi e i secondi controlli hanno le relative AuthorizationFilter proprietà impostate su valori diversi e il terzo non assegna la proprietà. Questo valore di autorizzazione può essere controllato in fase di esecuzione e il controllo può essere aggiunto alla pagina se il filtro corrisponde ai criteri impostati dallo sviluppatore.

<%@ Page Language="C#" %>
<%@ Register Namespace="Samples.AspNet.CS.Controls" 
    TagPrefix="aspSample"%>


<!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 Page_Load(object sender, EventArgs e)
  {
    foreach (WebPart part in mgr1.WebParts)
    {
      if (mgr1.IsAuthorized(part))
        part.ExportMode = WebPartExportMode.All;
    }
    
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <aspSample:MyManagerAuthorize ID="mgr1" runat="server"  />
      <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"
            AuthorizationFilter="user" />
          <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </div>
    </form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ Register Namespace="Samples.AspNet.VB.Controls" 
    TagPrefix="aspSample"%>


<!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 Page_Load(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    Dim part As WebPart
    For Each part In mgr1.WebParts
      If mgr1.IsAuthorized(part) Then
        part.ExportMode = WebPartExportMode.All
      End If
    Next
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <aspSample:MyManagerAuthorize ID="mgr1" runat="server"  />
      <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"
            AuthorizationFilter="user" />
          <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </div>
    </form>
</body>
</html>

Il secondo passaggio consiste nell'eseguire l'override del IsAuthorized(Type, String, String, Boolean) metodo e creare una gestione personalizzata per i filtri di autorizzazione. Si noti che il codice verifica prima se la proprietà ha un valore, in modo che qualsiasi controllo che non assegna la AuthorizationFilter proprietà verrà aggiunto automaticamente. Se un controllo ha un filtro, il codice restituisce true solo se il valore del filtro è uguale a admin. In questo modo viene illustrato un meccanismo semplice che è possibile usare per visualizzare determinati controlli a determinati utenti, a seconda del proprio ruolo. Anche se un esempio completo che usa ruoli non rientra nell'ambito di questo argomento, è possibile usare la stessa logica del metodo sottoposto a override in questo esempio di codice, ad eccezione del fatto che è possibile verificare se l'utente corrente è in un ruolo corrispondente al valore del filtro di autorizzazione e quindi aggiungere il controllo solo per tale utente. In questo modo è possibile creare pagine in cui alcuni utenti visualizzerebbero tutti i controlli e altri utenti visualizzerebbero solo i controlli selezionati. Si tratta della logica che controlla il filtro potrebbe essere visualizzata se sono stati usati ruoli:

If Roles.IsUserInRole(Page.User.Identity.Name, authorizationFilter) Then  
  return True  
Else  
  return False  
End If  
if(Roles.IsUserInRole(Page.User.Identity.Name, authorizationFilter))  
    return true;  
else  
    return false;  

Per eseguire l'esempio di codice, è necessario compilare questo codice sorgente. È possibile compilarlo in modo esplicito e inserire l'assembly risultante nella cartella Bin del sito Web o nella global assembly cache. In alternativa, è possibile inserire il codice sorgente nella cartella App_Code del sito, in cui verrà compilato dinamicamente in fase di esecuzione. Questo esempio di codice usa il metodo di compilazione dinamico. Per una procedura dettagliata che illustra come compilare, vedere Procedura dettagliata: Sviluppo e uso di un controllo server Web personalizzato.

using System;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Samples.AspNet.CS.Controls
{
  public class MyManagerAuthorize : WebPartManager
  {
    public override bool IsAuthorized(Type type, string path, string authorizationFilter, bool isShared)
    {
      if (!String.IsNullOrEmpty(authorizationFilter))
      {
        if (authorizationFilter == "admin")
          return true;
        else
          return false;
      }
      else
            {
                return true;
            }
        }
  }
}
Imports System.Web
Imports System.Web.Security
Imports System.Security.Permissions
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Namespace Samples.AspNet.VB.Controls

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class MyManagerAuthorize
    Inherits WebPartManager

    Public Overrides Function IsAuthorized(ByVal type As Type, _
      ByVal path As String, ByVal authorizationFilter As String, _
      ByVal isShared As Boolean) As Boolean

      If Not String.IsNullOrEmpty(authorizationFilter) Then
        If authorizationFilter = "admin" Then
          Return True
        Else
          Return False
        End If
      Else
        Return True
      End If

    End Function

  End Class

End Namespace

Dopo aver caricato la pagina in un browser, si noti che il primo controllo viene visualizzato, perché corrisponde ai criteri nel metodo sottoposto a override. Il secondo controllo non viene aggiunto alla pagina, perché il relativo valore di filtro è escluso. Il terzo controllo viene aggiunto, perché non ha il relativo AuthorizationFilter set di proprietà. Se si modifica il valore della proprietà nel secondo controllo in modo che corrisponda a quello del primo controllo e quindi si esegue di nuovo la pagina, viene aggiunto anche il secondo controllo.

Commenti

Il IsAuthorized(Type, String, String, Boolean) metodo di overload esegue i passaggi finali per determinare se un controllo è autorizzato ad essere aggiunto a una pagina. Il metodo garantisce che type sia un tipo valido e che path abbia un valore solo se il controllo controllato è un controllo utente. Chiama quindi il metodo critico OnAuthorizeWebPart , che genera l'evento AuthorizeWebPart .

Note per gli eredi

Questo metodo può essere sottoposto a override ereditando dalla classe, se si vuole fornire una gestione aggiuntiva durante il controllo dell'autorizzazione WebPartManager . È possibile eseguire l'override del metodo per verificare la presenza di determinati valori nel authorizationFilter parametro e in base al valore, restituire un valore booleano che determina se il controllo verrà aggiunto a una pagina.

Per gli sviluppatori di pagine che vogliono controllare anche i filtri di autorizzazione e fornire una gestione personalizzata, è possibile eseguire questa operazione inline in una pagina .aspx o in un file code-behind, senza dover ereditare da alcuna classe. È possibile dichiarare un gestore eventi alternativo nella pagina per il OnAuthorizeWebPart(WebPartAuthorizationEventArgs) metodo del WebPartManager controllo. Per altri dettagli e un esempio, vedere il OnAuthorizeWebPart(WebPartAuthorizationEventArgs) metodo .

Vedi anche

Si applica a