Sdílet prostřednictvím


WebPartManager.IsAuthorized Metoda

Definice

Určuje, zda WebPart lze na stránku přidat ovládací prvek serveru nebo jiný.

Přetížení

IsAuthorized(WebPart)

Provede počáteční kroky při určování, jestli je ovládací prvek autorizovaný k přidání na stránku.

IsAuthorized(Type, String, String, Boolean)

Provede poslední kroky při určování, jestli je ovládací prvek oprávněn přidat na stránku.

Poznámky

Součástí flexibility funkce webových částí je možnost přidávat ovládací prvky serveru na webové stránky za běhu. Existuje řada běžných scénářů, ve kterých lze přidat serverový ovládací prvek (kterým může být vlastní WebPart ovládací prvek, vlastní serverový ovládací prvek, uživatelský ovládací prvek nebo ovládací prvek ASP.NET).

V následujících běžných scénářích se ovládací prvky webových částí pokusí přidat na stránku ovládací prvky serveru a IsAuthorized volá se metoda, která je autorizuje:

  • Při přidání serverového ovládacího prvku jeho deklarováním ve značkách webové stránky v rámci WebPartZoneBase zóny.

  • Když se do zóny programově přidá serverový ovládací prvek.

  • Když uživatel importuje serverový ovládací prvek do katalogu ovládacích prvků webových částí.

  • Při načtení existujícího serverového ovládacího prvku z úložiště dat přizpůsobení.

  • Když je ovládací prvek serveru přidán do ovládacího DeclarativeCatalogPart prvku, aby byl k dispozici v katalogu serverových ovládacích prvků.

V každém scénáři, ve kterém jsou přidány ovládací prvky, IsAuthorized je volána metoda, aby se zajistilo, že byla splněna všechna kritéria autorizace umožňující přidání ovládacího prvku. Když je ovládací prvek autorizovaný, přidá se normálně, stejně jako kdyby neexistoval žádný scénář filtrování. Pokud ovládací prvek není autorizovaný, může sada ovládacích prvků webových částí reagovat několika způsoby v závislosti na kontextu. Sada ovládacích UnauthorizedWebPart prvků může bezobslužně selhat při přidání neautorizované části (pokud není potřeba uživatele informovat), může zobrazit chybovou zprávu nebo může přidat instanci třídy jako zástupný symbol. Tento zástupný objekt není viditelný na stránce, ale je viditelný ve zdrojovém kódu stránky, což znamená, že byl vyloučen neautorizovaný ovládací prvek.

Určujícím faktorem, zda je ovládací prvek autorizovaný, je filtr autorizace. Filtr autorizace je funkce v sadě ovládacích prvků webových částí, která vývojářům umožňuje vyloučit ze stránky všechny ovládací prvky, které nesplňují zadaná kritéria.

Aby mohli vývojáři vytvořit scénář filtrování, musí udělat dvě věci. Nejprve musí přiřadit řetězcovou hodnotu (hodnota může být libovolná) vlastnosti AuthorizationFilter každého WebPart ovládacího prvku, který plánuje použít ve scénáři. Mohou také přiřadit hodnotu této vlastnosti pro jiné typy serverových ovládacích prvků, které nejsou WebPart ovládacími prvky, protože pokud jsou umístěny v WebPartZoneBase zónách, jsou tyto ovládací prvky zabaleny s ovládacím GenericWebPart prvku za běhu a tento ovládací prvek zdědí AuthorizationFilter vlastnost.

Druhým nezbytným krokem pro vytvoření scénáře filtrování je buď přepsání IsAuthorized(Type, String, String, Boolean) metody, nebo vytvoření obslužné rutiny události pro AuthorizeWebPart událost. V těchto metodách může vývojář zkontrolovat AuthorizationFilter vlastnost a pokud hodnota indikuje, že ovládací prvek by neměl být autorizovaný, vývojář zajistí, aby IsAuthorized metoda vrátila hodnotu false.

Poznámka

Příklady kódu a popis, jak nastavit přizpůsobený scénář filtrování pomocí IsAuthorized metody, najdete v tématech pro přetížení metody.

IsAuthorized(WebPart)

Provede počáteční kroky při určování, jestli je ovládací prvek autorizovaný k přidání na stránku.

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

Parametry

webPart
WebPart

Kontroluje WebPart se autorizace ovládacího prvku serveru nebo jiného ovládacího prvku serveru.

Návraty

Logická hodnota, která označuje, zda webPart lze přidat na stránku.

Výjimky

webPart je null.

Příklady

Následující příklad kódu ukazuje, jak volat metodu IsAuthorized(WebPart) z kódu k určení, zda je ovládací prvek oprávněn přidat na stránku.

Příklad kódu má tři části:

  • Vlastní WebPartManager ovládací prvek, který přepíše metodu IsAuthorized .

  • Webová stránka, která vytvoří filtr pro ovládací prvek WebPart .

  • Vysvětlení, jak spustit příklad kódu

Tento příklad kódu používá vlastní WebPartManager ovládací prvek, který přepíše metodu IsAuthorized(Type, String, String, Boolean) přetížení k poskytnutí vlastního AuthorizationFilter zpracování vlastnosti. Tento ovládací prvek zkontroluje hodnotu admin vlastnosti a pokud je k dispozici, autorizuje ovládací prvek. Pokud má ovládací prvek jinou hodnotu, není autorizovaný; ovládací prvky bez hodnoty vlastnosti jsou také autorizovány, protože se předpokládá, že nejsou součástí scénáře filtrování.

Aby se tento příklad kódu spustil, musíte tento zdrojový kód zkompilovat. Můžete ho explicitně zkompilovat a umístit výsledné sestavení do složky Bin webu nebo globální mezipaměti sestavení . Případně můžete zdrojový kód umístit do složky App_Code webu, kde se bude dynamicky kompilovat za běhu. Tento příklad kódu používá metodu dynamického kompilace. Návod, který ukazuje, jak kompilovat, najdete v tématu Návod: Vývoj a použití vlastního ovládacího prvku webového serveru.

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

Druhá část příkladu kódu vytvoří filtr, který může potenciálně vyloučit ovládací prvek. Následující webová stránka obsahuje tři ovládací prvky serveru ASP.NET v elementu <asp:webpartzone> . Všimněte si, že první a druhý ovládací prvky mají své AuthorizationFilter vlastnosti nastavené na různé hodnoty a třetí nepřiřazuje vlastnost. Tuto hodnotu autorizace je možné zkontrolovat za běhu a ovládací prvek lze přidat na stránku, pokud filtr splňuje kritéria nastavená vývojářem. Všimněte si také, že v Page_Load metodě kód volá metodu IsAuthorized(WebPart) , aby určil, jestli jsou jednotlivé ovládací prvky autorizované, a pokud ano, nastaví vlastnost každého ovládacího prvku ExportMode .

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

Všimněte si, že aby příklad kódu fungoval, musíte do souboru Web.config přidat nastavení, které povolí export souborů s popisem webových částí. Ujistěte se, že máte soubor Web.config ve stejném adresáři jako webová stránka pro tento příklad kódu. V oddílu <system.web> se ujistěte, že existuje prvek s atributem enableExport nastaveným na truehodnotu , jak je <webParts> uvedeno v následujícím kódu.

<webParts enableExport="true">

...

</webParts>

Po načtení stránky v prohlížeči si všimněte, že se zobrazí první ovládací prvek, protože odpovídá kritériím v přepsané metodě. Druhý ovládací prvek se na stránku nepřidá, protože je filtrem vyloučený. Třetí ovládací prvek je také přidán, protože nemá nastavenou jeho AuthorizationFilter vlastnost. Všimněte si, že pokud kliknete na ikonu nabídky sloves v záhlaví některého ovládacího prvku, je možné je exportovat, protože byly přiřazeny příslušné ExportMode hodnoty vlastností.

Poznámky

Metoda IsAuthorized je počáteční metoda, kterou volá ovládací prvek webových částí nastavený ke kontrole autorizace WebPart ovládacího prvku. Přijímá webPart jako parametr a zahájí proces, který nakonec určí, zda bude ovládací prvek přidán na stránku. Tuto metodu volejte přímo z kódu, když potřebujete zjistit, jestli je daný ovládací prvek autorizovaný.

Tato metoda provádí počáteční úlohy určení, zda ovládací prvek dědí z WebPart třídy nebo je ovládací prvek GenericWebPart , a pokud ano, jaký typ podřízeného ovládacího prvku obsahuje. K dokončení úlohy autorizace volá metodu IsAuthorized(Type, String, String, Boolean) přetížení.

Poznámky pro volající

Tato metoda je volána přímo z kódu. Pokud chcete získat větší programovou kontrolu nad procesem autorizace, můžete přepsat metodu IsAuthorized(Type, String, String, Boolean) přetížení.

Viz také

Platí pro

IsAuthorized(Type, String, String, Boolean)

Provede poslední kroky při určování, jestli je ovládací prvek oprávněn přidat na stránku.

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

Parametry

type
Type

Hodnota Type ovládacího prvku, který se kontroluje pro autorizaci.

path
String

Relativní cesta aplikace ke zdrojovému souboru pro ovládací prvek, který je autorizován, pokud je ovládací prvek uživatelským ovládacím prvek.

authorizationFilter
String

Libovolná řetězcová hodnota přiřazená vlastnosti AuthorizationFilterWebPart ovládacího prvku, která slouží k autorizaci, zda lze ovládací prvek přidat na stránku.

isShared
Boolean

Určuje, jestli ovládací prvek, který se kontroluje pro autorizaci, je sdílený ovládací prvek, což znamená, že je viditelný mnoha nebo všem uživatelům aplikace a jeho IsShared hodnota vlastnosti je nastavena na truehodnotu .

Návraty

Logická hodnota, která označuje, jestli je ovládací prvek oprávněn přidat na stránku.

Výjimky

type je null.

type je uživatelský ovládací prvek a path je buď null nebo prázdný řetězec ("").

-nebo-

type není uživatelský ovládací prvek a path má přiřazenou hodnotu.

Příklady

Následující příklad kódu ukazuje, jak přepsat metodu IsAuthorized určit, zda je ovládací prvek oprávněn přidat na stránku.

Prvním krokem je vytvoření filtru, který může potenciálně vyloučit ovládací prvek. Následující webová stránka obsahuje tři ovládací prvky serveru ASP.NET v elementu <asp:webpartzone> . Všimněte si, že první a druhý ovládací prvky mají své AuthorizationFilter vlastnosti nastavené na různé hodnoty a třetí nepřiřazuje vlastnost. Tuto hodnotu autorizace je možné zkontrolovat za běhu a ovládací prvek lze přidat na stránku, pokud filtr splňuje kritéria nastavená vývojářem.

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

Druhým krokem je přepsání IsAuthorized(Type, String, String, Boolean) metody a vytvoření vlastního zpracování pro filtry autorizace. Všimněte si, že kód nejprve zkontroluje, jestli má vlastnost hodnotu, takže všechny ovládací prvky, které nepřiřazují AuthorizationFilter vlastnost, budou přidány automaticky. Pokud má ovládací prvek filtr, vrátí true kód pouze v případě, že se hodnota filtru rovná hodnotě admin. To ukazuje jednoduchý mechanismus, který můžete použít k zobrazení určitých ovládacích prvků určitým uživatelům v závislosti na jejich roli. Zatímco úplný příklad použití rolí je nad rámec tohoto tématu, můžete použít stejnou logiku jako přepsaná metoda v tomto příkladu kódu s tím rozdílem, že můžete zkontrolovat, jestli je aktuální uživatel v roli, která odpovídá hodnotě autorizačního filtru, a pak přidat ovládací prvek pouze pro tohoto uživatele. To by vám umožnilo vytvořit stránky, kde by někteří uživatelé viděli všechny ovládací prvky a jiní uživatelé by viděli jenom vybrané ovládací prvky. Logika, která filtr kontroluje, může vypadat takto, pokud jste použili role:

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;  

Aby se příklad kódu spustil, musíte tento zdrojový kód zkompilovat. Můžete ho explicitně zkompilovat a umístit výsledné sestavení do složky Bin webu nebo globální mezipaměti sestavení . Případně můžete zdrojový kód umístit do složky App_Code webu, kde se bude dynamicky kompilovat za běhu. Tento příklad kódu používá metodu dynamického kompilace. Návod, který ukazuje, jak kompilovat, najdete v tématu Návod: Vývoj a použití vlastního ovládacího prvku webového serveru.

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

Po načtení stránky v prohlížeči si všimněte, že se zobrazí první ovládací prvek, protože odpovídá kritériím v přepsané metodě. Druhý ovládací prvek se na stránku nepřidá, protože jeho hodnota filtru je vyloučená. Třetí ovládací prvek je přidán, protože nemá nastavenou jeho AuthorizationFilter vlastnost. Pokud změníte hodnotu vlastnosti u druhého ovládacího prvku tak, aby odpovídala hodnotě prvního ovládacího prvku, a pak stránku znovu spustíte, přidá se také druhý ovládací prvek.

Poznámky

Metoda IsAuthorized(Type, String, String, Boolean) přetížení provádí poslední kroky při určování, zda je ovládací prvek oprávněn přidat na stránku. Metoda zajišťuje, že type je platný typ a že má hodnotu pouze v případě, že path kontrolovaným ovládacím prvku je uživatelský ovládací prvek. Pak zavolá kritickou OnAuthorizeWebPart metodu, která vyvolá AuthorizeWebPart událost.

Poznámky pro dědice

Tuto metodu lze přepsat děděním z WebPartManager třídy, pokud chcete při kontrole autorizace poskytnout další zpracování. Můžete přepsat metodu kontroly určitých hodnot v parametru authorizationFilter a na základě hodnoty vrátit logickou hodnotu, která určuje, zda bude ovládací prvek přidán na stránku.

Pro vývojáře stránek, kteří také chtějí zkontrolovat autorizační filtry a zajistit vlastní zpracování, je k dispozici možnost provést to přímo v .aspx stránce nebo v souboru s kódem na pozadí, aniž by museli dědit z jakékoli třídy. Můžete deklarovat alternativní obslužnou rutinu události na stránce pro metodu OnAuthorizeWebPart(WebPartAuthorizationEventArgs)WebPartManager ovládacího prvku. Další podrobnosti a příklad najdete v OnAuthorizeWebPart(WebPartAuthorizationEventArgs) metodě.

Viz také

Platí pro