WebPartManager.AuthorizeWebPart Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt ein, wenn die IsAuthorized-Methode aufgerufen wird, um zu bestimmen, ob einer Seite ein WebPart-Steuerelement oder Serversteuerelement hinzugefügt werden kann.
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
Ereignistyp
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie ein benutzerdefinierter Ereignishandler für das AuthorizeWebPart Ereignis festgelegt wird, der die Standardmethode OnAuthorizeWebPart automatisch außer Kraft setzt.
Der Code in der mgr1_AuthorizeWebPart
-Methode überprüft, ob für die Steuerelemente auf der Seite ihre jeweiligen AuthorizationFilter Eigenschaftswerte festgelegt user
sind, und gibt, falls ja, zurück true
, was bedeutet, dass sie autorisiert und der Seite hinzugefügt werden. Dies setzt voraus, dass der Standardansatz darin besteht, Benutzern das Anzeigen von Steuerelementen mit einer Seite im Benutzerpersonalisierungsbereich zu ermöglichen. Beachten Sie jedoch, dass im Beispiel eines der Steuerelemente seinen AuthorizationFilter Eigenschaftswert auf admin
festgelegt hat. Entwickler können diesen Filter für ein spezialisiertes Steuerelement platzieren, das nur für Administratoren angezeigt werden kann. Dieses Steuerelement schlägt bei der Autorisierungsprüfung während des Ereignisses AuthorizeWebPart fehl und wird nicht angezeigt. Beachten Sie, dass Auch Steuerelemente angezeigt werden, für die die Eigenschaft nicht festgelegt ist. Es wird davon ausgegangen, dass sie nicht Teil eines Filterszenarios sind, da ihre AuthorizationFilter Eigenschaften nicht festgelegt sind.
<%@ 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>
Hinweise
Das AuthorizeWebPart Ereignis tritt auf, wenn einer Seite ein WebPart Steuerelement hinzugefügt wird. Es gibt eine Reihe gängiger Szenarien, in denen einer Seite ein Steuerelement hinzugefügt werden kann. Eine vollständige Beschreibung dieser Informationen finden Sie im Abschnitt Hinweise für die IsAuthorized -Methode. Wenn ein Steuerelement hinzugefügt wird, muss es überprüft werden, um festzustellen, ob seine AuthorizationFilter Eigenschaft festgelegt wurde und, falls ja, ob das Steuerelement autorisiert ist, der Seite hinzugefügt zu werden.
Entwickler können Ereignishandler für das AuthorizeWebPart Ereignis erstellen, um die Filterung für Steuerelemente bereitzustellen. Wenn der Eigenschaftswert eines Steuerelements AuthorizationFilter die Kriterien im Ereignishandlercode nicht erfüllt, wird das Steuerelement der Seite nicht hinzugefügt.