AuthorizationStoreRoleProvider.GetRolesForUser メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > AuthorizationStoreRoleProvider.GetRolesForUser メソッドの意味・解説 

AuthorizationStoreRoleProvider.GetRolesForUser メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

ユーザーに割り当てられたロールのリストを取得します。

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

例外例外
例外の種類条件

ArgumentNullException

username が null 参照 (Visual Basic では Nothing) です。

ArgumentException

username にコンマが含まれています。

ProviderException

構成済みの applicationName が見つかりませんでした。

または

構成済みの scopeName が見つかりませんでした。

または

承認マネージャ ランタイムがサーバーにインストールされていません。

FileNotFoundException

connectionStringName 属性が、存在しないファイルへの接続文字列を参照しています。

HttpException

AuthorizationStoreRoleProvider インスタンスが、ファイル ベースのポリシー ストアを使用するように構成されていますが、そのポリシー ファイルへの読み込みアクセスが現在の信頼レベルで許可されていません。

解説解説
使用例使用例

GetRolesForUser メソッドを使用して、指定されたユーザーのロールの一覧を取得し、System.Web.UI.WebControls.GridView コントロールにバインドするコード例を次に示します。ロール管理を有効にする Web.config ファイルの例については、AuthorizationStoreRoleProvider のトピックを参照してください。

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security"
 %>
<script runat="server">

Dim rolesArray() As String
Dim users As MembershipUserCollection

Public Sub Page_Load()

  Msg.Text = ""

  Try
    If Not Roles.IsUserInRole(User.Identity.Name,
 "Administrators") Then
      Msg.Text = "You are not authorized to view user roles."
      UsersListBox.Visible = False
      Return
    End If
  Catch e As HttpException
    Msg.Text = "There is no current logged on user. Role membership
 cannot be verified."
    Return
  End Try


  If Not IsPostBack Then
    ' Bind users to ListBox.

    users = Membership.GetAllUsers()
    UsersListBox.DataSource = users
    UsersListBox.DataBind()
  End If


  ' If a user is selected, show the roles for the selected user.

  If Not UsersListBox.SelectedItem Is
 Nothing Then
    ' Bind roles to GridView.

    rolesArray = Roles.GetRolesForUser(UsersListBox.SelectedItem.Value)
    UserRolesGrid.DataSource = rolesArray
    UserRolesGrid.DataBind()

    UserRolesGrid.Columns(0).HeaderText = "Roles for "
 & UsersListBox.SelectedItem.Value
  End If

End Sub

</script>
<html>
<head>
<title>Sample: View User Roles</title>
</head>
<body>

<form runat="server" id="PageForm">

  <h3>View User Roles</h3>

  <asp:Label id="Msg" ForeColor="maroon"
 runat="server" /><BR>

  <table border="0" cellspacing="4">
    <tr>
      <td valign="top"><asp:ListBox id="UsersListBox"
 DataTextField="Username" 
                                    Rows="8" AutoPostBack="true"
 runat="server" /></td>
      <td valign="top"><asp:GridView runat="server"
 CellPadding="4" id="UserRolesGrid"
 
                                     AutoGenerateColumns="false"
 Gridlines="None" 
                                     CellSpacing="0"
 >
                         <HeaderStyle BackColor="navy"
 ForeColor="white" />
                         <Columns>
                           <asp:TemplateField HeaderText="Roles"
 runat="server" >
                             <ItemTemplate>
                               <%# Container.DataItem.ToString() %>
                             </ItemTemplate>
                           </asp:TemplateField>
                         </Columns>
                       </asp:GridView></td>
    </tr>
  </table>

</form>

</body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<script runat="server">

string[] rolesArray;
MembershipUserCollection users;

public void Page_Load()
{
  Msg.Text = "";

  try
  {
    if (!Roles.IsUserInRole(User.Identity.Name, "Administrators"))
    {
      Msg.Text = "You are not authorized to view user roles.";
      UsersListBox.Visible = false;
      return;
    }
  }
  catch (HttpException e)
  {
    Msg.Text = "There is no current logged on user. Role membership cannot be
 verified.";
    return;
  }


  if (!IsPostBack)
  {
    // Bind users to ListBox.

    users = Membership.GetAllUsers();
    UsersListBox.DataSource = users;
    UsersListBox.DataBind();
  }


  // If a user is selected, show the roles for the selected user.

  if (UsersListBox.SelectedItem != null)
  {
    // Bind roles to GridView.

    rolesArray = Roles.GetRolesForUser(UsersListBox.SelectedItem.Value);
    UserRolesGrid.DataSource = rolesArray;
    UserRolesGrid.DataBind();

    UserRolesGrid.Columns[0].HeaderText = "Roles for "
 + UsersListBox.SelectedItem.Value;
  }
}

</script>
<html>
<head>
<title>Sample: View User Roles</title>
</head>
<body>

<form runat="server" id="PageForm">

  <h3>View User Roles</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server"
 /><BR>

  <table border="0" cellspacing="4">
    <tr>
      <td valign="top"><asp:ListBox id="UsersListBox"
 DataTextField="Username" 
                                    Rows="8" AutoPostBack="true"
 runat="server" /></td>
      <td valign="top"><asp:GridView runat="server"
 CellPadding="4" id="UserRolesGrid" 
                                     AutoGenerateColumns="false"
 Gridlines="None" 
                                     CellSpacing="0" >
                         <HeaderStyle BackColor="navy" ForeColor="white"
 />
                         <Columns>
                           <asp:TemplateField HeaderText="Roles" runat="server"
 >
                             <ItemTemplate>
                               <%# Container.DataItem.ToString() %>
                             </ItemTemplate>
                           </asp:TemplateField>
                         </Columns>
                       </asp:GridView></td>
    </tr>
  </table>

</form>

</body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
AuthorizationStoreRoleProvider クラス
AuthorizationStoreRoleProvider メンバ
System.Web.Security 名前空間
その他の技術情報
ロール管理について



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

AuthorizationStoreRoleProvider.GetRolesForUser メソッドのお隣キーワード
検索ランキング

   

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



AuthorizationStoreRoleProvider.GetRolesForUser メソッドのページの著作権

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

©2026 GRAS Group, Inc.RSS