WebPartManager.AuthorizeWebPart 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
이벤트 유형
예제
다음 코드 예제에서는 자동으로 기본 OnAuthorizeWebPart 메서드를 재정의 AuthorizeWebPart 하는 이벤트에 대 한 사용자 지정 이벤트 처리기를 설정 하는 방법을 보여 줍니다.
메서드의 mgr1_AuthorizeWebPart
코드는 페이지의 컨트롤에 해당 AuthorizationFilter 속성 값이 로 설정되어 user
있는지 확인하고, 이 경우 을 반환 true
합니다. 즉, 권한이 부여되고 페이지에 추가됩니다. 기본 방법은 사용자가 사용자 개인 설정 범위의 페이지로 컨트롤을 볼 수 있도록 하는 것이라고 가정합니다. 그러나 예제에서 컨트롤 중 하나에는 속성 값이 AuthorizationFilter 로 설정되어 admin
있습니다. 개발자는 관리 사용자만 볼 수 있도록 설계된 특수 컨트롤에 이 필터를 배치할 수 있습니다. 이 컨트롤은 이벤트 중에 권한 부여 검사에 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 속성 값이 이벤트 처리기 코드의 조건을 충족하지 않으면 컨트롤이 페이지에 추가되지 않습니다.
적용 대상
추가 정보
.NET