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
します。これは、承認され、ページに追加されることを意味します。 これは、既定のアプローチでは、ユーザーがユーザーパーソナル化スコープ内のページでコントロールを表示できるようにすることを前提としています。 ただし、例の 1 つのコントロールのプロパティ値が 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