WebPart.AuthorizationFilter プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As WebPart Dim value As String value = instance.AuthorizationFilter instance.AuthorizationFilter = value
[ThemeableAttribute(false)] public: virtual property String^ AuthorizationFilter { String^ get (); void set (String^ value); }
/** @property */ public String get_AuthorizationFilter () /** @property */ public void set_AuthorizationFilter (String value)
public function get AuthorizationFilter () : String public function set AuthorizationFilter (value : String)
コントロールが Web ページに追加されることを承認する文字列。既定値は空の文字列 ("") です。

Web パーツ コントロール セットは、AuthorizationFilter プロパティの既定の動作を実装しません。しかし、任意の文字列値をカスタム WebPart コントロールに割り当てることができるように、プロパティが用意されています。このプロパティは、WebPartManager コントロールによってその AuthorizeWebPart イベント中にチェックされ、コントロールをページに追加できるかどうかを判断します。
場合によっては、AuthorizationFilter プロパティを ASP.NET ロール管理機能で使用することがあります。その場合、ユーザーが特定のロールに属し、AuthorizationFilter プロパティの文字列値が開発者が設定した特定の条件を満たすときに、コントロールを追加できます。このアプローチによって、開発者は、自分が指定するロールとその他の承認条件に基づいたページのカスタム ビューを作成できます。
このプロパティを、テーマまたはスタイル シート テーマを使用して設定することはできません。詳細については、ThemeableAttribute、ASP.NET のテーマとスキンの概要 の各トピックを参照してください。
このプロパティのパーソナル化スコープは Shared に設定され、承認されたユーザーだけが変更できます。詳細については、PersonalizableAttribute、Web パーツのパーソナル化の概要 の各トピックを参照してください。
継承時の注意 このプロパティを使用するには、カスタム WebPartManager コントロールを作成し、その OnAuthorizeWebPart メソッドまたはその IsAuthorized メソッドのいずれかをオーバーライドして AuthorizationFilter プロパティをチェックする必要があります。
AuthorizationFilter プロパティの使用方法を示すコード例を次に示します。例では、AuthorizeWebPart イベントのカスタム メソッド ハンドラを設定して、ハンドラが OnAuthorizeWebPart メソッドのカスタムのフィルタ処理コードを提供できるようにする方法を示します。この例は、ページ開発者がページに追加される WebPart コントロールのフィルタ処理のシナリオと承認を提供する一般的な方法です。
Web ページ コードでは、<asp:webpartmanager> 要素に、イベント ハンドラの名前が代入された OnAuthorizeWebPart 属性があります。このメソッドは、ページのコントロールに、admin に設定された AuthorizationFilter プロパティ値があるかどうかをチェックします。値があった場合は、そのコントロールが承認され、ページに追加されることを示す true を返します。
![]() |
---|
AuthorizationFilter プロパティに値が代入されていないコントロールは、フィルタ処理のシナリオ外と見なされるので、同様に追加されます。これは、フィルタ処理のシナリオで共通のアプローチです。つまり、コントロールはすべてのユーザーが利用できると仮定されているので、一部のコントロールがフィルタ処理され、その他は処理されません。 |
<%@ Page Language="vb" %> <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 > <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="C#" %> <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 > <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>
ユーザーをロールに設定することはこのトピックの範囲外なので、このコード例では、フィルタ処理でユーザーのロールをチェックしません。ただし、ユーザー ロールによるコントロールのフィルタ処理は、このフィルタ処理機能の最も一般的な使用法の 1 つです。サイトでロールを作成している場合に、このメソッドでユーザーのロールをチェックしてコントロールのフィルタ処理をする場合、メソッドは次のコード ブロックのようになります (前のコード例のロールを使用しない単純なアプローチと比較してください)。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からWebPart.AuthorizationFilter プロパティを検索する場合は、下記のリンクをクリックしてください。

- WebPart.AuthorizationFilter プロパティのページへのリンク