Поделиться через


WebPartManager.AuthorizeWebPart Событие

Определение

Происходит при IsAuthorized вызове метода, чтобы определить, можно ли WebPart добавить элемент управления сервером на страницу.

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 

Тип события

Примеры

В следующем примере кода показано, как задать настраиваемый обработчик событий для AuthorizeWebPart события, который автоматически переопределяет метод по умолчанию OnAuthorizeWebPart .

Код в методе mgr1_AuthorizeWebPart проверяет, имеют user ли элементы управления на странице соответствующие AuthorizationFilter значения свойств и, если да, возвращаютсяtrue, что означает, что они будут авторизованы и добавлены на страницу. Предполагается, что подход по умолчанию — разрешить пользователям просматривать элементы управления со страницей в области персонализации пользователей. Обратите внимание, что в примере одного из элементов управления задано adminзначение AuthorizationFilter свойства. Разработчики могут поместить этот фильтр в специализированный элемент управления, предназначенный для просмотра только административных пользователей. Этот элемент управления завершится ошибкой AuthorizeWebPart проверки авторизации во время события и не будет отображаться. Обратите внимание, что элементы управления, не имеющие набора свойств, также отображаются; Предполагается, что они не являются частью сценария фильтрации, так как их AuthorizationFilter свойства не заданы.

<%@ 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>

Комментарии

Событие AuthorizeWebPart происходит всякий раз, когда WebPart элемент управления добавляется на страницу. Существует ряд распространенных сценариев, в которых можно добавить элемент управления на страницу. Полное описание этих действий см. в разделе "Примечания" для IsAuthorized метода. При добавлении элемента управления необходимо проверить, задано ли его AuthorizationFilter свойство, и, если да, будет ли элемент управления авторизован для добавления на страницу.

Разработчики могут создавать обработчики событий для AuthorizeWebPart события, чтобы обеспечить фильтрацию для элементов управления. Если значение свойства элемента управления AuthorizationFilter не соответствует критериям в коде обработчика событий, элемент управления не добавляется на страницу.

Применяется к

См. также раздел