WebPartManager.IsAuthorized Méthode

Définition

Détermine si un WebPart ou autre contrôle serveur peut être ajouté à une page.

Surcharges

IsAuthorized(WebPart)

Exécute les étapes initiales en déterminant si l'ajout d'un contrôle à une page est autorisé.

IsAuthorized(Type, String, String, Boolean)

Exécute les étapes finales en déterminant si l'ajout d'un contrôle à une page est autorisé.

Remarques

Une partie de la flexibilité de la fonctionnalité WebPart est la possibilité d’ajouter des contrôles serveur aux pages Web au moment de l’exécution. Il existe un certain nombre de scénarios courants dans lesquels un contrôle serveur (qui peut être un contrôle personnalisé WebPart , un contrôle serveur personnalisé, un contrôle utilisateur ou un contrôle ASP.NET) peut être ajouté.

Dans les scénarios courants suivants, le jeu de contrôles WebPart tente d’ajouter des contrôles serveur à une page, et la IsAuthorized méthode est appelée pour les autoriser :

  • Lorsqu’un contrôle serveur est ajouté en le déclarant dans le balisage d’une page Web au sein d’une WebPartZoneBase zone.

  • Lorsqu’un contrôle serveur est ajouté par programmation à une zone.

  • Lorsqu’un utilisateur importe un contrôle serveur dans un catalogue de contrôles WebPart.

  • Lorsqu’un contrôle serveur existant est chargé à partir du magasin de données de personnalisation.

  • Lorsqu’un contrôle serveur est ajouté à un DeclarativeCatalogPart contrôle pour le rendre disponible dans un catalogue de contrôles serveur.

Dans chaque scénario où des contrôles sont ajoutés, la IsAuthorized méthode est appelée pour s’assurer que tous les critères d’autorisation ont été remplis pour permettre l’ajout d’un contrôle. Lorsqu’un contrôle est autorisé, il est ajouté normalement comme il le serait s’il n’existait aucun scénario de filtrage. Lorsqu’un contrôle n’est pas autorisé, le jeu de contrôles WebPart peut répondre de plusieurs façons, en fonction du contexte. L’ensemble de contrôles peut échouer silencieusement à ajouter une partie non autorisée (s’il n’est pas nécessaire d’en informer l’utilisateur), il peut afficher un message d’erreur ou ajouter un instance de la UnauthorizedWebPart classe en tant qu’espace réservé. Cet objet d’espace réservé n’est pas visible sur la page, mais est visible dans le code source de la page pour indiquer qu’un contrôle non autorisé a été exclu.

Le déterminant de l’autorisation d’un contrôle est le filtre d’autorisation. Un filtre d’autorisation est une fonctionnalité de l’ensemble de contrôles WebPart qui permet aux développeurs d’exclure d’une page tous les contrôles qui ne répondent pas aux critères spécifiés.

Pour créer un scénario de filtrage, les développeurs doivent effectuer deux opérations. Tout d’abord, ils doivent affecter une valeur de chaîne (la valeur peut être arbitraire) à la AuthorizationFilter propriété de chaque WebPart contrôle qu’ils prévoient d’utiliser dans le scénario. Ils peuvent également affecter une valeur à cette propriété pour d’autres types de contrôles serveur qui ne sont pas WebPart des contrôles, car s’ils sont placés dans WebPartZoneBase des zones, ces contrôles sont encapsulés avec un GenericWebPart contrôle au moment de l’exécution, et ce contrôle hérite de la AuthorizationFilter propriété .

La deuxième étape nécessaire pour créer un scénario de filtrage consiste à remplacer la IsAuthorized(Type, String, String, Boolean) méthode ou à créer un gestionnaire d’événements pour l’événement AuthorizeWebPart . Dans ces méthodes, un développeur peut case activée la AuthorizationFilter propriété , et si la valeur indique que le contrôle ne doit pas être autorisé, le développeur s’assure que la IsAuthorized méthode retourne la valeur .false

Notes

Pour obtenir des exemples de code et une description de la configuration d’un scénario de filtrage personnalisé à l’aide de la IsAuthorized méthode , consultez les rubriques relatives aux surcharges de la méthode.

IsAuthorized(WebPart)

Exécute les étapes initiales en déterminant si l'ajout d'un contrôle à une page est autorisé.

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

Paramètres

webPart
WebPart

WebPart ou autre contrôle serveur dont l'autorisation est vérifiée.

Retours

Valeur Boolean qui indique si webPart peut être ajouté à une page.

Exceptions

webPart a la valeur null.

Exemples

L’exemple de code suivant montre comment appeler la IsAuthorized(WebPart) méthode à partir de votre code pour déterminer si un contrôle est autorisé à être ajouté à une page.

L’exemple de code comporte trois parties :

  • Contrôle personnalisé WebPartManager qui remplace la IsAuthorized méthode .

  • Page Web qui crée un filtre pour un WebPart contrôle.

  • Explication de l’exécution de l’exemple de code.

Cet exemple de code utilise un contrôle personnalisé WebPartManager qui remplace la méthode de IsAuthorized(Type, String, String, Boolean) surcharge pour fournir une gestion personnalisée de la AuthorizationFilter propriété. Ce contrôle recherche une valeur de propriété de admin et, si la valeur est présente, autorise le contrôle. Si un contrôle a une valeur différente, il n’est pas autorisé ; les contrôles sans la valeur de propriété sont également autorisés, car ils sont présumés ne pas faire partie du scénario de filtrage.

Pour que cet exemple de code s’exécute, vous devez compiler ce code source. Vous pouvez le compiler explicitement et placer l’assembly résultant dans le dossier Bin de votre site web ou dans le Global Assembly Cache. Vous pouvez également placer le code source dans le dossier App_Code de votre site, où il sera compilé dynamiquement au moment de l’exécution. Cet exemple de code utilise la méthode de compilation dynamique. Pour obtenir une procédure pas à pas qui montre comment compiler, consultez Procédure pas à pas : développement et utilisation d’un contrôle serveur Web personnalisé.

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 deuxième partie de l’exemple de code crée un filtre qui peut potentiellement exclure un contrôle. La page Web suivante contient trois contrôles serveur ASP.NET dans un <asp:webpartzone> élément . Notez que les premier et deuxième contrôles ont leurs AuthorizationFilter propriétés définies sur des valeurs différentes, et que le troisième n’affecte pas la propriété. Cette valeur d’autorisation peut être vérifiée au moment de l’exécution, et le contrôle peut être ajouté à la page si le filtre correspond à des critères définis par le développeur. Notez également que dans la Page_Load méthode, le code appelle la IsAuthorized(WebPart) méthode pour déterminer si chacun des contrôles est autorisé et, si c’est le cas, il définit la propriété de ExportMode chaque contrôle.

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

Notez que pour que l’exemple de code fonctionne, vous devez ajouter un paramètre dans le fichier Web.config pour permettre l’exportation des fichiers de description de composants WebPart. Vérifiez que vous disposez d’un fichier Web.config dans le même répertoire que la page Web pour cet exemple de code. Dans la <system.web> section , vérifiez qu’il existe un <webParts> élément avec un enableExport attribut défini sur true, comme dans le balisage suivant.

<webParts enableExport="true">

...

</webParts>

Après avoir chargé la page dans un navigateur, notez que le premier contrôle s’affiche, car il correspond aux critères de la méthode remplacée. Le deuxième contrôle n’est pas ajouté à la page, car il est exclu par le filtre. Le troisième contrôle est également ajouté, car sa AuthorizationFilter propriété n’est pas définie. Notez que si vous cliquez sur l’icône de menu verbes dans la barre de titre de l’un ou l’autre des contrôles, ils peuvent tous les deux être exportés, car leurs valeurs de propriété respectives ExportMode ont été affectées.

Remarques

La IsAuthorized méthode est la méthode initiale appelée par le contrôle WebPart défini sur case activée’autorisation d’un WebPart contrôle. Il accepte webPart en tant que paramètre et commence un processus qui détermine si le contrôle sera ajouté à une page. Appelez cette méthode directement à partir de votre code lorsque vous devez déterminer si un contrôle donné est autorisé.

Cette méthode effectue les tâches initiales qui consistent à déterminer si le contrôle hérite de la WebPart classe ou est un GenericWebPart contrôle et, le cas échéant, quel type de contrôle enfant il contient. Pour terminer la tâche d’autorisation, il appelle la méthode de IsAuthorized(Type, String, String, Boolean) surcharge.

Notes pour les appelants

Cette méthode est appelée directement à partir de votre code. Si vous souhaitez obtenir un plus grand contrôle programmatique sur le processus d’autorisation, vous pouvez remplacer la méthode de IsAuthorized(Type, String, String, Boolean) surcharge.

Voir aussi

S’applique à

IsAuthorized(Type, String, String, Boolean)

Exécute les étapes finales en déterminant si l'ajout d'un contrôle à une page est autorisé.

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

Paramètres

type
Type

Type du contrôle qui est vérifié pour autorisation.

path
String

Chemin d'accès relatif de l'application au fichier source pour le contrôle autorisé, s'il s'agit d'un contrôle utilisateur.

authorizationFilter
String

Valeur de chaîne arbitraire assignée à la propriété AuthorizationFilter d'un contrôle WebPart, utilisée pour autoriser l'ajout d'un contrôle à une page.

isShared
Boolean

Indique si le contrôle qui est vérifié pour autorisation est un contrôle partagé, c'est-à-dire visible pour la plupart ou tous les utilisateurs de l'application et si sa propriété IsShared a la valeur true.

Retours

Valeur Boolean qui indique si l'ajout d'un contrôle à une page est autorisé.

Exceptions

type a la valeur null.

type est un contrôle utilisateur et path est soit null, soit une chaîne vide ("").

- ou -

type n'est pas un contrôle utilisateur et path a une valeur qui lui est assignée.

Exemples

L’exemple de code suivant montre comment remplacer la IsAuthorized méthode pour déterminer si un contrôle est autorisé à être ajouté à une page.

La première étape consiste à créer un filtre qui peut potentiellement exclure un contrôle. La page Web suivante contient trois contrôles serveur ASP.NET dans un <asp:webpartzone> élément . Notez que les premier et deuxième contrôles ont leurs AuthorizationFilter propriétés définies sur des valeurs différentes, et que le troisième n’affecte pas la propriété. Cette valeur d’autorisation peut être vérifiée au moment de l’exécution, et le contrôle peut être ajouté à la page si le filtre correspond à des critères définis par le développeur.

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

La deuxième étape consiste à remplacer la méthode et à créer une IsAuthorized(Type, String, String, Boolean) gestion personnalisée pour les filtres d’autorisation. Notez que le code vérifie d’abord si la propriété a une valeur, afin que tout contrôle qui n’affecte pas la AuthorizationFilter propriété soit ajouté automatiquement. Si un contrôle a un filtre, le code retourne true uniquement si la valeur du filtre est égale à admin. Cela illustre un mécanisme simple que vous pouvez utiliser pour afficher certains contrôles à certains utilisateurs, en fonction de leur rôle. Bien qu’un exemple complet d’utilisation de rôles dépasse le cadre de cette rubrique, vous pouvez utiliser la même logique que la méthode substituée dans cet exemple de code, sauf que vous pouvez case activée si l’utilisateur actuel est dans un rôle qui correspond à la valeur du filtre d’autorisation, puis ajouter le contrôle uniquement pour cet utilisateur. Cela vous permet de créer des pages dans lesquelles certains utilisateurs verraient tous les contrôles, et d’autres utilisateurs verraient uniquement les contrôles sélectionnés. Voici à quoi peut ressembler la logique qui vérifie le filtre si vous avez utilisé des rôles :

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;  

Pour que l’exemple de code s’exécute, vous devez compiler ce code source. Vous pouvez le compiler explicitement et placer l’assembly résultant dans le dossier Bin de votre site web ou dans le Global Assembly Cache. Vous pouvez également placer le code source dans le dossier App_Code de votre site, où il sera compilé dynamiquement au moment de l’exécution. Cet exemple de code utilise la méthode de compilation dynamique. Pour obtenir une procédure pas à pas qui montre comment compiler, consultez Procédure pas à pas : développement et utilisation d’un contrôle serveur Web personnalisé.

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

Après avoir chargé la page dans un navigateur, notez que le premier contrôle s’affiche, car il correspond aux critères de la méthode remplacée. Le deuxième contrôle n’est pas ajouté à la page, car sa valeur de filtre est exclue. Le troisième contrôle est ajouté, car sa AuthorizationFilter propriété n’est pas définie. Si vous modifiez la valeur de la propriété sur le deuxième contrôle pour qu’elle corresponde à celle du premier contrôle, puis réexécutez la page, le deuxième contrôle est également ajouté.

Remarques

La IsAuthorized(Type, String, String, Boolean) méthode de surcharge effectue les dernières étapes pour déterminer si un contrôle est autorisé à être ajouté à une page. La méthode garantit que type est un type valide et qui path a une valeur uniquement si le contrôle en cours de vérification est un contrôle utilisateur. Ensuite, il appelle la méthode critique OnAuthorizeWebPart , qui déclenche l’événement AuthorizeWebPart .

Notes pour les héritiers

Cette méthode peut être remplacée en héritant de la WebPartManager classe , si vous souhaitez fournir une gestion supplémentaire lors de la vérification de l’autorisation. Vous pouvez remplacer la méthode pour case activée pour certaines valeurs dans le authorizationFilter paramètre et, en fonction de la valeur, retourner une valeur booléenne qui détermine si le contrôle sera ajouté à une page.

Pour les développeurs de pages qui souhaitent également case activée pour les filtres d’autorisation et fournir une gestion personnalisée, il existe une option pour effectuer cette opération inline dans une page .aspx ou dans un fichier code-behind, sans avoir à hériter de classes. Vous pouvez déclarer un autre gestionnaire d’événements dans la page pour la OnAuthorizeWebPart(WebPartAuthorizationEventArgs) méthode du WebPartManager contrôle. Pour plus d’informations et un exemple, consultez la OnAuthorizeWebPart(WebPartAuthorizationEventArgs) méthode .

Voir aussi

S’applique à