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
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 diotorisasi untuk ditambahkan ke halaman. |
Keterangan
Bagian dari fleksibilitas fitur Komponen Web adalah kemampuan untuk menambahkan kontrol server ke halaman Web pada durasi. 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 Bagian Web mencoba menambahkan kontrol server ke halaman, dan metode dipanggil IsAuthorized untuk mengotorisasinya:
Ketika kontrol server ditambahkan dengan mendeklarasikannya dalam markup halaman Web dalam zona WebPartZoneBase .
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. Ketika 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.
Penentuan apakah kontrol diotorisasi adalah filter otorisasi. Filter otorisasi adalah fitur dalam kumpulan kontrol Bagian Web yang memungkinkan pengembang untuk 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 arbitrer) ke AuthorizationFilter properti dari setiap WebPart kontrol yang mereka rencanakan untuk 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 IsAuthorized(Type, String, String, Boolean) alih 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
.
Catatan
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 diizinkan 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 alih IsAuthorized(Type, String, String, Boolean) metode kelebihan beban untuk memberikan penanganan AuthorizationFilter kustom properti. Kontrol ini memeriksa nilai admin
properti dan, jika nilainya 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 Anda 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 durasi. 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 mengatur propertinya AuthorizationFilter ke nilai yang berbeda, dan yang ketiga tidak menetapkan properti . Nilai otorisasi ini dapat diperiksa pada durasi, 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 yang ditimpa. 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 WebPart kontrol. 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, ini 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 IsAuthorized(Type, String, String, Boolean) alih metode kelebihan beban.
Lihat juga
- AuthorizationFilter
- AuthorizeWebPart
- OnAuthorizeWebPart(WebPartAuthorizationEventArgs)
- ASP.NET Kontrol Komponen Web
Berlaku untuk
IsAuthorized(Type, String, String, Boolean)
Melakukan langkah-langkah akhir dalam menentukan apakah kontrol diotorisasi 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 diizinkan 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 mengatur propertinya AuthorizationFilter ke nilai yang berbeda, dan yang ketiga tidak menetapkan properti . Nilai otorisasi ini dapat diperiksa pada durasi, 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 untuk 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 Anda 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 durasi. 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 yang ditimpa. 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 diotorisasi 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 nilai, 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)
- ASP.NET Kontrol Komponen Web