WebPartManager.IsAuthorized Metode
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.
Menentukan apakah WebPart kontrol server atau lainnya dapat ditambahkan ke halaman.
Overload
| Nama | Deskripsi |
|---|---|
| IsAuthorized(WebPart) |
Melakukan langkah-langkah awal dalam menentukan apakah kontrol berwenang untuk ditambahkan ke halaman. |
| IsAuthorized(Type, String, String, Boolean) |
Melakukan langkah-langkah akhir dalam menentukan apakah kontrol berwenang untuk ditambahkan ke halaman. |
Keterangan
Bagian dari fleksibilitas fitur Bagian Web adalah kemampuan untuk menambahkan kontrol server ke halaman Web pada waktu proses. Ada sejumlah skenario umum di mana kontrol server (yang dapat menjadi kontrol kustom WebPart , kontrol server kustom, kontrol pengguna, atau kontrol ASP.NET) dapat ditambahkan.
Dalam skenario umum berikut, kumpulan kontrol Komponen Web mencoba menambahkan kontrol server ke halaman, dan metode dipanggil IsAuthorized untuk mengotorisasinya:
Ketika kontrol server ditambahkan dengan mendeklarasikannya dalam markup halaman Web dalam WebPartZoneBase zona.
Ketika kontrol server ditambahkan secara terprogram ke zona.
Saat pengguna mengimpor kontrol server ke katalog kontrol Bagian Web.
Ketika kontrol server yang ada dimuat dari penyimpanan data personalisasi.
Ketika kontrol server ditambahkan ke DeclarativeCatalogPart kontrol untuk membuatnya tersedia dalam katalog kontrol server.
Dalam setiap skenario di mana kontrol ditambahkan, IsAuthorized metode dipanggil untuk memastikan bahwa semua kriteria otorisasi telah terpenuhi untuk memungkinkan kontrol ditambahkan. Ketika kontrol diotorisasi, kontrol ditambahkan secara normal seperti jika tidak ada skenario pemfilteran. Saat kontrol tidak diotorisasi, kumpulan kontrol Bagian Web dapat merespons dalam beberapa cara, tergantung pada konteksnya. Set kontrol dapat secara diam-diam gagal menambahkan bagian yang tidak sah (jika tidak perlu memberi tahu pengguna), set kontrol dapat menampilkan pesan kesalahan, atau dapat menambahkan instans UnauthorizedWebPart kelas sebagai tempat penampung. Objek tempat penampung ini tidak terlihat di halaman, tetapi terlihat dalam kode sumber halaman untuk menunjukkan bahwa kontrol yang tidak sah dikecualikan.
Penenjuk apakah kontrol diotorisasi adalah filter otorisasi. Filter otorisasi adalah fitur dalam kumpulan kontrol Komponen Web yang memungkinkan pengembang mengecualikan dari halaman kontrol apa pun yang tidak memenuhi kriteria yang ditentukan.
Untuk membuat skenario pemfilteran, pengembang harus melakukan dua hal. Pertama, mereka harus menetapkan nilai string (nilainya bisa sewenang-wenang) ke AuthorizationFilter properti dari setiap WebPart kontrol yang rencananya akan digunakan dalam skenario. Mereka juga dapat menetapkan nilai ke properti ini untuk jenis kontrol server lain yang bukan WebPart kontrol, karena jika ditempatkan di zona, kontrol tersebut dibungkus WebPartZoneBase dengan GenericWebPart kontrol pada waktu proses, dan kontrol ini mewarisi AuthorizationFilter properti .
Langkah kedua yang diperlukan untuk membuat skenario pemfilteran adalah mengambil alih IsAuthorized(Type, String, String, Boolean) metode, atau membuat penanganan aktivitas untuk peristiwa tersebut AuthorizeWebPart . Dalam metode ini, pengembang dapat memeriksa AuthorizationFilter properti, dan jika nilai menunjukkan bahwa kontrol tidak boleh diotorisasi, pengembang memastikan bahwa IsAuthorized metode mengembalikan nilai false.
Nota
Untuk contoh kode dan deskripsi cara menyiapkan skenario pemfilteran yang disesuaikan menggunakan IsAuthorized metode , lihat topik untuk kelebihan beban metode.
IsAuthorized(WebPart)
Melakukan langkah-langkah awal dalam menentukan apakah kontrol berwenang untuk ditambahkan ke halaman.
public:
bool IsAuthorized(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
public bool IsAuthorized(System.Web.UI.WebControls.WebParts.WebPart webPart);
member this.IsAuthorized : System.Web.UI.WebControls.WebParts.WebPart -> bool
Public Function IsAuthorized (webPart As WebPart) As Boolean
Parameter
Mengembalikan
Nilai Boolean yang menunjukkan apakah webPart dapat ditambahkan ke halaman.
Pengecualian
webPart adalah null.
Contoh
Contoh kode berikut menunjukkan cara memanggil IsAuthorized(WebPart) metode dari kode Anda untuk menentukan apakah kontrol berwenang untuk ditambahkan ke halaman.
Contoh kode memiliki tiga bagian:
Kontrol kustom WebPartManager yang mengambil alih IsAuthorized metode .
Halaman Web yang membuat filter untuk WebPart kontrol.
Penjelasan tentang cara menjalankan contoh kode.
Contoh kode ini menggunakan kontrol kustom WebPartManager yang mengambil IsAuthorized(Type, String, String, Boolean) alih metode kelebihan beban untuk menyediakan penanganan AuthorizationFilter kustom properti. Kontrol ini memeriksa nilai properti dan admin , jika nilai ada, mengotorisasi kontrol. Jika kontrol memiliki nilai yang berbeda, kontrol tidak diotorisasi; kontrol tanpa nilai properti juga diotorisasi, karena dianggap tidak menjadi bagian dari skenario pemfilteran.
Agar contoh kode ini berjalan, Anda harus mengkompilasi kode sumber ini. Anda dapat mengkompilasinya secara eksplisit dan meletakkan rakitan yang dihasilkan di folder Bin situs Web atau cache perakitan global. Atau, Anda dapat meletakkan kode sumber di folder App_Code situs Anda, di mana kode tersebut akan dikompilasi secara dinamis pada waktu proses. Contoh kode ini menggunakan metode kompilasi dinamis. Untuk panduan yang menunjukkan cara mengkompilasi, lihat Panduan: Mengembangkan dan Menggunakan Kontrol Server Web Kustom.
using System;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Samples.AspNet.CS.Controls
{
public class MyManagerAuthorize : WebPartManager
{
public override bool IsAuthorized(Type type, string path, string authorizationFilter, bool isShared)
{
if (!String.IsNullOrEmpty(authorizationFilter))
{
if (authorizationFilter == "admin")
return true;
else
return false;
}
else
{
return true;
}
}
}
}
Imports System.Web
Imports System.Web.Security
Imports System.Security.Permissions
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class MyManagerAuthorize
Inherits WebPartManager
Public Overrides Function IsAuthorized(ByVal type As Type, _
ByVal path As String, ByVal authorizationFilter As String, _
ByVal isShared As Boolean) As Boolean
If Not String.IsNullOrEmpty(authorizationFilter) Then
If authorizationFilter = "admin" Then
Return True
Else
Return False
End If
Else
Return True
End If
End Function
End Class
End Namespace
Bagian kedua dari contoh kode membuat filter yang berpotensi mengecualikan kontrol. Halaman Web berikut berisi tiga kontrol server ASP.NET dalam sebuah <asp:webpartzone> elemen. Perhatikan bahwa kontrol pertama dan kedua memiliki properti yang AuthorizationFilter diatur ke nilai yang berbeda, dan yang ketiga tidak menetapkan properti . Nilai otorisasi ini dapat diperiksa pada waktu proses, dan kontrol dapat ditambahkan ke halaman jika filter cocok dengan kriteria yang ditetapkan oleh pengembang. Perhatikan juga bahwa dalam Page_Load metode ini, kode memanggil IsAuthorized(WebPart) metode untuk menentukan apakah masing-masing kontrol diotorisasi, dan jika demikian, kode mengatur properti setiap kontrol ExportMode .
<%@ Page Language="C#" %>
<%@ Register Namespace="Samples.AspNet.CS.Controls"
TagPrefix="aspSample"%>
<!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 Page_Load(object sender, EventArgs e)
{
foreach (WebPart part in mgr1.WebParts)
{
if (mgr1.IsAuthorized(part))
part.ExportMode = WebPartExportMode.All;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<aspSample:MyManagerAuthorize ID="mgr1" runat="server" />
<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"
AuthorizationFilter="user" />
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ Register Namespace="Samples.AspNet.VB.Controls"
TagPrefix="aspSample"%>
<!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 Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim part As WebPart
For Each part In mgr1.WebParts
If mgr1.IsAuthorized(part) Then
part.ExportMode = WebPartExportMode.All
End If
Next
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<aspSample:MyManagerAuthorize ID="mgr1" runat="server" />
<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"
AuthorizationFilter="user" />
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>
</form>
</body>
</html>
Perhatikan bahwa agar contoh kode berfungsi, Anda harus menambahkan pengaturan dalam file Web.config untuk mengaktifkan ekspor file deskripsi Komponen Web. Pastikan Anda memiliki file Web.config di direktori yang sama dengan halaman Web untuk contoh kode ini. Di dalam bagian <system.web> , pastikan ada <webParts> elemen dengan atribut yang enableExport diatur ke true, seperti dalam markup berikut.
<webParts enableExport="true">
...
</webParts>
Setelah Anda memuat halaman di browser, perhatikan bahwa kontrol pertama ditampilkan, karena cocok dengan kriteria dalam metode penggantian. Kontrol kedua tidak ditambahkan ke halaman, karena dikecualikan oleh filter. Kontrol ketiga juga ditambahkan, karena tidak memiliki kumpulan propertinya AuthorizationFilter . Perhatikan bahwa jika Anda mengklik ikon menu kata kerja di bilah judul salah satu kontrol, keduanya dapat diekspor karena nilai properti masing-masing ExportMode ditetapkan.
Keterangan
Metode IsAuthorized ini adalah metode awal yang dipanggil oleh kontrol Bagian Web yang diatur untuk memeriksa otorisasi kontrol WebPart . Ini menerima webPart sebagai parameter, dan memulai proses yang pada akhirnya menentukan apakah kontrol akan ditambahkan ke halaman. Panggil metode ini dari kode Anda secara langsung ketika Anda perlu menentukan apakah kontrol tertentu diotorisasi.
Metode ini melakukan tugas awal untuk menentukan apakah kontrol mewarisi dari WebPart kelas atau merupakan GenericWebPart kontrol dan, jika demikian, jenis kontrol anak apa yang dikandungnya. Untuk menyelesaikan tugas otorisasi, ia memanggil IsAuthorized(Type, String, String, Boolean) metode kelebihan beban.
Catatan Bagi Pemanggil
Metode ini dipanggil langsung dari kode Anda. Jika Anda ingin mendapatkan kontrol terprogram yang lebih besar atas proses otorisasi, Anda dapat mengambil alih IsAuthorized(Type, String, String, Boolean) metode kelebihan beban.
Lihat juga
- AuthorizationFilter
- AuthorizeWebPart
- OnAuthorizeWebPart(WebPartAuthorizationEventArgs)
- Kontrol Bagian Web ASP.NET
Berlaku untuk
IsAuthorized(Type, String, String, Boolean)
Melakukan langkah-langkah akhir dalam menentukan apakah kontrol berwenang untuk ditambahkan ke halaman.
public:
virtual bool IsAuthorized(Type ^ type, System::String ^ path, System::String ^ authorizationFilter, bool isShared);
public virtual bool IsAuthorized(Type type, string path, string authorizationFilter, bool isShared);
abstract member IsAuthorized : Type * string * string * bool -> bool
override this.IsAuthorized : Type * string * string * bool -> bool
Public Overridable Function IsAuthorized (type As Type, path As String, authorizationFilter As String, isShared As Boolean) As Boolean
Parameter
- path
- String
Jalur aplikasi relatif ke file sumber untuk kontrol yang diotorisasi, jika kontrol adalah kontrol pengguna.
- authorizationFilter
- String
Nilai string arbitrer yang ditetapkan ke AuthorizationFilter properti WebPart kontrol, digunakan untuk mengotorisasi apakah kontrol dapat ditambahkan ke halaman.
- isShared
- Boolean
Menunjukkan apakah kontrol yang diperiksa untuk otorisasi adalah kontrol bersama, yang berarti bahwa kontrol tersebut terlihat oleh banyak atau semua pengguna aplikasi, dan nilai propertinya IsShared diatur ke true.
Mengembalikan
Nilai Boolean yang menunjukkan apakah kontrol berwenang untuk ditambahkan ke halaman.
Pengecualian
type adalah null.
type adalah kontrol pengguna, dan path merupakan null string kosong ("").
-atau-
type bukan kontrol pengguna, dan path memiliki nilai yang ditetapkan untuknya.
Contoh
Contoh kode berikut menunjukkan cara mengambil alih IsAuthorized metode untuk menentukan apakah kontrol berwenang untuk ditambahkan ke halaman.
Langkah pertama adalah membuat filter yang berpotensi mengecualikan kontrol. Halaman Web berikut berisi tiga kontrol server ASP.NET dalam sebuah <asp:webpartzone> elemen. Perhatikan bahwa kontrol pertama dan kedua memiliki properti yang AuthorizationFilter diatur ke nilai yang berbeda, dan yang ketiga tidak menetapkan properti . Nilai otorisasi ini dapat diperiksa pada waktu proses, dan kontrol dapat ditambahkan ke halaman jika filter cocok dengan kriteria yang ditetapkan oleh pengembang.
<%@ Page Language="C#" %>
<%@ Register Namespace="Samples.AspNet.CS.Controls"
TagPrefix="aspSample"%>
<!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 Page_Load(object sender, EventArgs e)
{
foreach (WebPart part in mgr1.WebParts)
{
if (mgr1.IsAuthorized(part))
part.ExportMode = WebPartExportMode.All;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<aspSample:MyManagerAuthorize ID="mgr1" runat="server" />
<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"
AuthorizationFilter="user" />
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ Register Namespace="Samples.AspNet.VB.Controls"
TagPrefix="aspSample"%>
<!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 Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim part As WebPart
For Each part In mgr1.WebParts
If mgr1.IsAuthorized(part) Then
part.ExportMode = WebPartExportMode.All
End If
Next
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<aspSample:MyManagerAuthorize ID="mgr1" runat="server" />
<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"
AuthorizationFilter="user" />
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>
</form>
</body>
</html>
Langkah kedua adalah mengambil alih IsAuthorized(Type, String, String, Boolean) metode , dan membuat penanganan kustom untuk filter otorisasi. Perhatikan bahwa kode pertama-tama memeriksa apakah properti memiliki nilai, sehingga kontrol apa pun yang tidak menetapkan AuthorizationFilter properti akan ditambahkan secara otomatis. Jika kontrol memiliki filter, kode hanya mengembalikan true jika nilai filter sama dengan admin. Ini menunjukkan mekanisme sederhana yang dapat Anda gunakan untuk menampilkan kontrol tertentu kepada pengguna tertentu, tergantung pada peran mereka. Meskipun contoh lengkap menggunakan peran berada di luar cakupan topik ini, Anda dapat menggunakan logika yang sama dengan metode yang ditimpa dalam contoh kode ini, kecuali bahwa Anda dapat memeriksa apakah pengguna saat ini berada dalam peran yang cocok dengan nilai filter otorisasi, lalu menambahkan kontrol hanya untuk pengguna tersebut. Ini akan memungkinkan Anda membuat halaman di mana beberapa pengguna akan melihat semua kontrol, dan pengguna lain hanya akan melihat kontrol yang dipilih. Ini adalah bagaimana logika yang memeriksa filter mungkin terlihat jika Anda menggunakan peran:
If Roles.IsUserInRole(Page.User.Identity.Name, authorizationFilter) Then
return True
Else
return False
End If
if(Roles.IsUserInRole(Page.User.Identity.Name, authorizationFilter))
return true;
else
return false;
Agar contoh kode berjalan, Anda harus mengkompilasi kode sumber ini. Anda dapat mengkompilasinya secara eksplisit dan meletakkan rakitan yang dihasilkan di folder Bin situs Web atau cache perakitan global. Atau, Anda dapat meletakkan kode sumber di folder App_Code situs Anda, di mana kode tersebut akan dikompilasi secara dinamis pada waktu proses. Contoh kode ini menggunakan metode kompilasi dinamis. Untuk panduan yang menunjukkan cara mengkompilasi, lihat Panduan: Mengembangkan dan Menggunakan Kontrol Server Web Kustom.
using System;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Samples.AspNet.CS.Controls
{
public class MyManagerAuthorize : WebPartManager
{
public override bool IsAuthorized(Type type, string path, string authorizationFilter, bool isShared)
{
if (!String.IsNullOrEmpty(authorizationFilter))
{
if (authorizationFilter == "admin")
return true;
else
return false;
}
else
{
return true;
}
}
}
}
Imports System.Web
Imports System.Web.Security
Imports System.Security.Permissions
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class MyManagerAuthorize
Inherits WebPartManager
Public Overrides Function IsAuthorized(ByVal type As Type, _
ByVal path As String, ByVal authorizationFilter As String, _
ByVal isShared As Boolean) As Boolean
If Not String.IsNullOrEmpty(authorizationFilter) Then
If authorizationFilter = "admin" Then
Return True
Else
Return False
End If
Else
Return True
End If
End Function
End Class
End Namespace
Setelah Anda memuat halaman di browser, perhatikan bahwa kontrol pertama ditampilkan, karena cocok dengan kriteria dalam metode penggantian. Kontrol kedua tidak ditambahkan ke halaman, karena nilai filternya dikecualikan. Kontrol ketiga ditambahkan, karena tidak memiliki kumpulan propertinya AuthorizationFilter . Jika Anda mengubah nilai properti pada kontrol kedua agar sesuai dengan kontrol pertama, lalu menjalankan halaman lagi, kontrol kedua juga ditambahkan.
Keterangan
Metode IsAuthorized(Type, String, String, Boolean) kelebihan beban melakukan langkah-langkah akhir dalam menentukan apakah kontrol berwenang untuk ditambahkan ke halaman. Metode ini memastikan bahwa adalah jenis yang type valid, dan yang memiliki nilai hanya jika kontrol yang path diperiksa adalah kontrol pengguna. Kemudian memanggil metode kritis OnAuthorizeWebPart , yang meningkatkan AuthorizeWebPart peristiwa.
Catatan Bagi Inheritor
Metode ini dapat ditimpa dengan mewarisi dari WebPartManager kelas, jika Anda ingin memberikan penanganan tambahan saat memeriksa otorisasi. Anda mungkin ingin mengambil alih metode untuk memeriksa nilai tertentu dalam authorizationFilter parameter, dan berdasarkan nilainya, mengembalikan nilai Boolean yang menentukan apakah kontrol akan ditambahkan ke halaman.
Untuk pengembang halaman yang juga ingin memeriksa filter otorisasi dan memberikan penanganan kustom, ada opsi untuk melakukan ini sebaris di halaman .aspx, atau dalam file code-behind, tanpa harus mewarisi dari kelas apa pun. Anda dapat mendeklarasikan penanganan aktivitas alternatif di halaman untuk OnAuthorizeWebPart(WebPartAuthorizationEventArgs) metode WebPartManager kontrol. Untuk detail selengkapnya dan contohnya OnAuthorizeWebPart(WebPartAuthorizationEventArgs) , lihat metode .
Lihat juga
- AuthorizationFilter
- AuthorizeWebPart
- OnAuthorizeWebPart(WebPartAuthorizationEventArgs)
- Kontrol Bagian Web ASP.NET