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 IsAuthorized metoda jest wywoływana w celu określenia, czy można dodać kontrolkę WebPart lub serwer 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
Poniższy przykład kodu pokazuje, 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ślnym podejściem jest umożliwienie 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ą one 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 można dodać kontrolkę do strony. Aby zapoznać się z pełnym opisem tych informacji, zobacz sekcję Uwagi dla IsAuthorized metody . Po dodaniu kontrolki należy sprawdzić, czy jej AuthorizationFilter właściwość została ustawiona i, jeśli tak, czy kontrolka ma być autoryzowana do dodania do strony.
Deweloperzy mogą tworzyć programy obsługi zdarzeń AuthorizeWebPart dla zdarzenia, aby zapewnić filtrowanie kontrolek. Jeśli wartość właściwości kontrolki AuthorizationFilter nie spełnia kryteriów w kodzie procedury obsługi zdarzeń, kontrolka nie jest dodawana do strony.
Dotyczy
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla