RoleProvider.RemoveUsersFromRoles メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim instance As RoleProvider Dim usernames As String() Dim roleNames As String() instance.RemoveUsersFromRoles(usernames, roleNames)
public: virtual void RemoveUsersFromRoles ( array<String^>^ usernames, array<String^>^ roleNames ) abstract

RemoveUsersFromRoles は、Roles クラスの RemoveUserFromRole、RemoveUsersFromRole、RemoveUserFromRoles、および RemoveUsersFromRoles の各メソッドによって呼び出され、データ ソースの指定されたロールから指定されたユーザーを削除します。構成済みの ApplicationName のロールのみ変更されます。
構成済みの applicationName に指定された roleNames が見つからない場合、プロバイダから ProviderException をスローすることをお勧めします。
指定された usernames のいずれかが構成済みの applicationName の指定された roleNames に関連付けられていない場合、プロバイダから ProviderException をスローすることをお勧めします。
指定された usernames のいずれかが null 参照 (Visual Basic では Nothing) または空の文字列である場合、プロバイダから例外をスローすることをお勧めします。
指定された roleNames のいずれかが null 参照 (Visual Basic では Nothing) または空の文字列である場合、プロバイダから例外をスローすることをお勧めします。
データ ソースがトランザクションをサポートしている場合、1 回のトランザクションに 1 回の削除操作を含め、削除操作が失敗すると、そのトランザクションをロールバックして例外をスローすることをお勧めします。

RemoveUsersFromRoles メソッドの実装サンプルを次のコード例に示します。
Public Overrides Sub RemoveUsersFromRoles(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.") For Each rolename As String In rolenames If Not IsUserInRole(username, rolename) Then Throw New ProviderException("User is not in role.") End If Next Next Dim conn As OdbcConnection = New OdbcConnection(connectionString) Dim cmd As OdbcCommand = New OdbcCommand("DELETE FROM [" & usersInRolesTable & "]" & _ " WHERE Username = ? AND Rolename = ? AND ApplicationName = ?", 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 RemoveUsersFromRoles(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."); foreach (string rolename in rolenames) { if (!IsUserInRole(username, rolename)) throw new ProviderException("User is not in role."); } } OdbcConnection conn = new OdbcConnection(connectionString); OdbcCommand cmd = new OdbcCommand("DELETE FROM [" + usersInRolesTable + "]" + " WHERE Username = ? AND Rolename = ? AND ApplicationName = ?", 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(); } }

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


Weblioに収録されているすべての辞書からRoleProvider.RemoveUsersFromRoles メソッドを検索する場合は、下記のリンクをクリックしてください。

- RoleProvider.RemoveUsersFromRoles メソッドのページへのリンク