WebPartManager.AuthorizeWebPart Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terjadi ketika metode dipanggil IsAuthorized untuk menentukan apakah WebPart kontrol server atau dapat ditambahkan ke halaman.
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
Jenis Acara
Contoh
Contoh kode berikut menunjukkan cara mengatur penanganan aktivitas kustom untuk AuthorizeWebPart peristiwa, yang secara otomatis mengambil alih metode default OnAuthorizeWebPart .
Kode dalam mgr1_AuthorizeWebPart
metode memeriksa apakah kontrol pada halaman memiliki nilai properti masing-masing AuthorizationFilter yang diatur ke user
dan, jika demikian, mengembalikan true
, yang berarti bahwa mereka akan diotorisasi dan ditambahkan ke halaman. Ini mengasumsikan pendekatan default adalah memungkinkan pengguna untuk melihat kontrol dengan halaman dalam cakupan personalisasi pengguna. Perhatikan, bagaimanapun, bahwa dalam contoh salah satu kontrol memiliki nilai propertinya AuthorizationFilter diatur ke admin
. Pengembang mungkin menempatkan filter ini pada kontrol khusus yang dirancang hanya untuk dilihat pengguna administratif. Kontrol ini akan gagal dalam pemeriksaan otorisasi selama AuthorizeWebPart kejadian, dan tidak akan ditampilkan. Perhatikan bahwa kontrol yang tidak memiliki kumpulan properti juga ditampilkan; mereka diasumsikan tidak menjadi bagian dari skenario pemfilteran karena propertinya AuthorizationFilter tidak diatur.
<%@ 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>
Keterangan
Peristiwa terjadi AuthorizeWebPart setiap kali WebPart kontrol ditambahkan ke halaman. Ada sejumlah skenario umum di mana kontrol dapat ditambahkan ke halaman. Untuk deskripsi lengkap tentang ini, lihat bagian Keterangan untuk metode .IsAuthorized Ketika kontrol ditambahkan, kontrol harus diperiksa untuk melihat apakah propertinya AuthorizationFilter telah diatur dan, jika demikian, apakah kontrol berwenang untuk ditambahkan ke halaman.
Pengembang dapat membuat penanganan aktivitas untuk peristiwa tersebut AuthorizeWebPart , untuk menyediakan pemfilteran kontrol. Jika nilai properti kontrol AuthorizationFilter tidak memenuhi kriteria dalam kode penanganan aktivitas, kontrol tidak ditambahkan ke halaman.