WebPartManager.AuthorizeWebPart Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir veya sunucu denetiminin sayfaya eklenip WebPart eklenemeyeceğini IsAuthorized belirlemek için yöntemi çağrıldığında gerçekleşir.
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
Olay Türü
Örnekler
Aşağıdaki kod örneği, varsayılan OnAuthorizeWebPart yöntemi otomatik olarak geçersiz kılan olay için özel bir olay işleyicisinin AuthorizeWebPart nasıl ayarlandığını gösterir.
yöntemindeki mgr1_AuthorizeWebPart
kod, sayfadaki denetimlerin ilgili AuthorizationFilter özellik değerlerinin olarak ayarlanıp ayarlanmadığını user
denetler ve öyleyse döndürür true
. Bu, yetkilendirilecekleri ve sayfaya eklenecekleri anlamına gelir. Bu, varsayılan yaklaşımın kullanıcıların kullanıcı kişiselleştirme kapsamındaki bir sayfayla denetimleri görüntülemesine izin vermek olduğunu varsayar. Ancak, örnekte denetimlerden AuthorizationFilter birinin özellik değerinin olarak ayarlandığına admin
dikkat edin. Geliştiriciler bu filtreyi yalnızca yönetici kullanıcıların görmesi için tasarlanmış özel bir denetime yerleştirebilir. Bu denetim, olay sırasında yetkilendirme denetiminde AuthorizeWebPart başarısız olur ve görüntülenmez. Özellik kümesi olmayan denetimlerin de görüntülendiğini unutmayın; özellikleri ayarlanmadığından filtreleme senaryosunun AuthorizationFilter parçası olmadıkları varsayılır.
<%@ 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>
Açıklamalar
Olay AuthorizeWebPart , bir sayfaya denetim WebPart eklendiğinde gerçekleşir. Bir denetimin sayfaya eklenebildiği bir dizi yaygın senaryo vardır. Bunların tam açıklaması için IsAuthorized yönteminin Açıklamalar bölümüne bakın. Bir denetim eklendiğinde, özelliğinin ayarlanıp ayarlanmadığını AuthorizationFilter ve ayarlıysa denetimin sayfaya ekleme yetkisi olup olmadığının denetlenmesi gerekir.
Geliştiriciler, denetimler için filtreleme sağlamak üzere olay için AuthorizeWebPart olay işleyicileri oluşturabilir. Bir denetimin AuthorizationFilter özellik değeri olay işleyici kodundaki ölçütleri karşılamıyorsa, denetim sayfaya eklenmez.