Share via


WebPartManager.AuthorizeWebPart Olay

Tanım

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 admindikkat 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.

Şunlara uygulanır

Ayrıca bkz.