---
title: "例:他のロールからロールを追加、削除、または取得する"
slug: "sample--add-remove-or-get-a-role-from-another-role"
abstract: "Sitecoreの使い方。Security.Accounts.RolesInRoles.Managerクラスでロールを操作するためのロール・オブ・ロール・マネージャークラス。"
---
# 例:他のロールからロールを追加、削除、または取得する

このSitecore.Security.Accounts.RolesInRolesManagerクラスでは、.NET APIがロールにロールを置いてどのように動作するかを説明します。

## 役割に役割を追加

Sitecore.Security.Accounts.RolesInRolesManager.AddRoleToRole(Role memberRoles, Role targetRoles)メソッドを使って、既存の役割を別の既存ロールに追加することができます。最初のパラメータはメンバーロール、2つ目のパラメータはターゲットロールです。

役割を別の役割に割り当てる方法:

const string parentRole = @"sitecore\\Author";
const string memberRole = @"sitecore\\MyRole";
if (RolesInRolesManager.RolesInRolesSupported && !RolesInRolesManager.IsRoleInRole(Role.FromName(memberRole), Role.FromName(parentRole), false))
{
 RolesInRolesManager.AddRoleToRole(Role.FromName(memberRole), Role.FromName(parentRole));
}
## 役割から役割を削除する

既存の役割を別の既存ロールからSitecore.Security.Accounts.RolesInRolesManager.RemoveRoleFromRole(Role memberRoles, Role targetRoles)メソッドで削除できます。最初のパラメータはメンバーロール、2つ目のパラメータはターゲットロールです。

const string parentRole = @"sitecore\\Author";
const string memberRole = @"sitecore\\MyRole";
if (RolesInRolesManager.RolesInRolesSupported && RolesInRolesManager.IsRoleInRole(Role.FromName(memberRole), Role.FromName(parentRole), false))
{
 RolesInRolesManager.RemoveRoleFromRole(Role.FromName(memberRole), Role.FromName(parentRole));
}
## 役から役を得る

 Sitecore.Security.Accounts.RolesInRolesManager.GetRolesInRole(Role targetRole, bool includeIndirectMembership)メソッドを使えば、別の既存ロールから既存のロールを取得することができます。最初のパラメータはロールで、2つ目のパラメータは間接メンバーシップが必要かどうかを決めます。

他の職種から職を得るには:

const string parentRole = @"sitecore\\Author";
IEnumerable<Role> roleList = RolesInRolesManager.GetRolesInRole(Role.FromName(parentRole), false);