Bagikan melalui


WebPartManager.AuthorizeWebPart Kejadian

Definisi

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.

Berlaku untuk

Lihat juga