WebPart.AuthorizationFilter プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > WebPart.AuthorizationFilter プロパティの意味・解説 

WebPart.AuthorizationFilter プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

WebPart コントロールをページに追加することが承認されるかどうかを決定する任意の文字列を取得または設定します。

名前空間: System.Web.UI.WebControls.WebParts
アセンブリ: System.Web (system.web.dll 内)
構文構文

<ThemeableAttribute(False)> _
Public Overridable Property
 AuthorizationFilter As String
Dim instance As WebPart
Dim value As String

value = instance.AuthorizationFilter

instance.AuthorizationFilter = value
[ThemeableAttribute(false)] 
public virtual string AuthorizationFilter {
 get; set; }
[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 つです。サイトでロールを作成している場合に、このメソッドでユーザーのロールをチェックしてコントロールのフィルタ処理をする場合、メソッドは次のコード ブロックのようになります (前のコード例のロールを使用しない単純なアプローチと比較してください)。

protected void mgr1_AuthorizeWebPart(object sender, 
  WebPartAuthorizationEventArgs e)
{
  if (!String.IsNullOrEmpty(e.AuthorizationFilter))
  {
    if(Roles.IsUserInRole(Page.User.Identity.Name, e.authorizationFilter))
      e.IsAuthorized = true;
    else
      e.IsAuthorized = false;
  }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「WebPart.AuthorizationFilter プロパティ」の関連用語

WebPart.AuthorizationFilter プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



WebPart.AuthorizationFilter プロパティのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS