RoleProvider.AddUsersToRoles メソッドとは何? わかりやすく解説 Weblio辞書

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

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

RoleProvider.AddUsersToRoles メソッド

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

指定されユーザー名を、構成済みapplicationName指定されロール追加します

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

Public MustOverride Sub
 AddUsersToRoles ( _
    usernames As String(), _
    roleNames As String() _
)
Dim instance As RoleProvider
Dim usernames As String()
Dim roleNames As String()

instance.AddUsersToRoles(usernames, roleNames)
public abstract void AddUsersToRoles (
    string[] usernames,
    string[] roleNames
)
public:
virtual void AddUsersToRoles (
    array<String^>^ usernames, 
    array<String^>^ roleNames
) abstract
public abstract void AddUsersToRoles (
    String[] usernames, 
    String[] roleNames
)
public abstract function AddUsersToRoles (
    usernames : String[], 
    roleNames : String[]
)

パラメータ

usernames

指定されロール追加するユーザー名文字列配列

roleNames

指定されユーザー名割り当て先となるロール名の文字列配列

解説解説

AddUsersToRolesRoles によって呼び出され指定されユーザーデータ ソース指定されロール関連付けます。ロール構成済み ApplicationName に追加されます。

構成済みapplicationName指定されroleNames が見つからない場合プロバイダから ProviderException をスローすることをお勧めます。

指定されusernamesいずれか構成済みapplicationName指定されroleNames関連付けられない場合プロバイダから ProviderExceptionスローすることをお勧めます。

指定されusernamesいずれかnull 参照 (Visual Basic では Nothing) または空の文字列である場合プロバイダから例外スローすることをお勧めます。

指定されroleNamesいずれかnull 参照 (Visual Basic では Nothing) または空の文字列である場合プロバイダから例外スローすることをお勧めます。

データ ソーストランザクションサポートしている場合1 回トランザクション1 回追加操作含め追加操作失敗すると、そのトランザクションロールバックして例外スローすることをお勧めます。

使用例使用例

AddUsersToRoles メソッド実装サンプル次のコード例示します

Public Overrides Sub AddUsersToRoles(usernames
 As String(), rolenames As
 String()) 

  For Each rolename As String
 In rolenames
    If rolename Is Nothing
 OrElse rolename = "" Then
 _
      Throw New ProviderException("Role
 name cannot be empty or null.")
    If Not RoleExists(rolename) Then
 _
      Throw New ProviderException("Role
 name not found.")
  Next

  For Each username As String
 in usernames
    If username Is Nothing
 OrElse username = "" Then
 _
      Throw New ProviderException("User
 name cannot be empty or null.")
    If username.IndexOf(",") >
 0 Then _
      Throw New ArgumentException("User
 names cannot contain commas.")

    For Each rolename As String
 In rolenames
      If IsUserInRole(username, rolename) Then
        Throw New ProviderException("User
 is already in role.")
      End If
    Next
  Next


  Dim conn As OdbcConnection = New
 OdbcConnection(connectionString)
  Dim cmd As OdbcCommand = New
 OdbcCommand("INSERT INTO [" & usersInRolesTable
 & "]" & _
                                           " (Username, Rolename,
 ApplicationName) " & _
                                           " Values(?, ?, ?)",
 conn)

  Dim userParm As OdbcParameter = cmd.Parameters.Add("@Username",
 OdbcType.VarChar, 255)
  Dim roleParm As OdbcParameter = cmd.Parameters.Add("@Rolename",
 OdbcType.VarChar, 255)
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar,
 255).Value = ApplicationName

  Try
    conn.Open()

    For Each username As
 String In usernames
      For Each rolename As String
 In rolenames
        userParm.Value = username
        roleParm.Value = rolename
        cmd.ExecuteNonQuery()
      Next
    Next
  Catch e As OdbcException
    ' Handle exception.
  Finally
    conn.Close()      
  End Try
End Sub
public override void AddUsersToRoles(string[]
  usernames, string[] rolenames)
{
  foreach (string rolename in
 rolenames)
  {
    if (rolename == null || rolename == "")
      throw new ProviderException("Role name cannot be empty
 or null.");
    if (!RoleExists(rolename))
      throw new ProviderException("Role name not found.");
  }

  foreach (string username in
 usernames)
  {
    if (username == null || username == "")
      throw new ProviderException("User name cannot be empty
 or null.");
    if (username.IndexOf(',') > 0)
      throw new ArgumentException("User names cannot contain
 commas.");

    foreach (string rolename in
 rolenames)
    {
      if (IsUserInRole(username, rolename))
        throw new ProviderException("User is already in
 role.");
    }
  }


  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("INSERT INTO ["
 + usersInRolesTable + "]"  +
                                    " (Username, Rolename, ApplicationName)
 " +
                                    " Values(?, ?, ?)", conn);

  OdbcParameter userParm = cmd.Parameters.Add("@Username", OdbcType.VarChar,
 255);
  OdbcParameter roleParm = cmd.Parameters.Add("@Rolename", OdbcType.VarChar,
 255);
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value =
 ApplicationName;

  try
  {
    conn.Open();

    foreach (string username in
 usernames)
    {
      foreach (string rolename in
 rolenames)
      {
        userParm.Value = username;
        roleParm.Value = rolename;
        cmd.ExecuteNonQuery();
      }
    }
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    conn.Close();      
  }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

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

   

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



RoleProvider.AddUsersToRoles メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS