WebPartManager.AuthorizeWebPart Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Występuje, gdy metoda jest wywoływana w IsAuthorized celu określenia, czy kontrolka WebPart serwera lub może zostać dodana do strony.
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
Typ zdarzenia
Przykłady
W poniższym przykładzie kodu pokazano, jak ustawić niestandardową procedurę obsługi zdarzeń dla AuthorizeWebPart zdarzenia, która automatycznie zastępuje metodę domyślną OnAuthorizeWebPart .
Kod w metodzie mgr1_AuthorizeWebPart
sprawdza, czy kontrolki na stronie mają odpowiednie AuthorizationFilter wartości właściwości ustawione na user
i, jeśli tak, zwraca true
wartość , co oznacza, że zostaną autoryzowane i dodane do strony. Przyjęto założenie, że domyślne podejście polega na umożliwieniu użytkownikom wyświetlania kontrolek ze stroną w zakresie personalizacji użytkownika. Zwróć jednak uwagę, że w przykładzie jedna z kontrolek ma jej AuthorizationFilter wartość właściwości ustawioną na admin
wartość . Deweloperzy mogą umieścić ten filtr na wyspecjalizowanej kontrolce, która została zaprojektowana tylko dla użytkowników administracyjnych do wyświetlenia. Ta kontrolka zakończy się niepowodzeniem podczas sprawdzania AuthorizeWebPart autoryzacji podczas zdarzenia i nie będzie wyświetlana. Należy pamiętać, że wyświetlane są również kontrolki, które nie mają zestawu właściwości; zakłada się, że nie są częścią scenariusza filtrowania, ponieważ ich AuthorizationFilter właściwości nie są ustawione.
<%@ 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>
Uwagi
Zdarzenie AuthorizeWebPart występuje za każdym razem, gdy kontrolka WebPart jest dodawana do strony. Istnieje wiele typowych scenariuszy, w których kontrolka może zostać dodana do strony. Pełny opis tych metod można znaleźć w IsAuthorized sekcji Uwagi. Po dodaniu kontrolki należy sprawdzić, czy jej AuthorizationFilter właściwość została ustawiona, i, jeśli tak, czy kontrolka jest autoryzowana do dodania do strony.
Deweloperzy mogą tworzyć programy obsługi zdarzeń dla AuthorizeWebPart zdarzenia w celu zapewnienia filtrowania kontrolek. Jeśli wartość właściwości kontrolki AuthorizationFilter nie spełnia kryteriów w kodzie procedury obsługi zdarzeń, kontrolka nie zostanie dodana do strony.