Sitecore 6では、既にログインしている仮想ユーザーのロールを変更できますか?
既にシステムにログインしている仮想ユーザーのロールを変更したいのですが、Sitecore がそれを無視しているようです。ロールをクリアして新しいロールを追加できますが、古いロールはすべてユーザーに関連付けられたままです。ユーザーを再ログインする必要があると思いますが、そうではありません。
virtualUser.RuntimeSettings.AddedRoles.Clear();
virtualUser.Roles.RemoveAll();
if (permissions != null && permissions.Any())
{
foreach (var role in permissions.Where(d=>!string.IsNullOrEmpty(d.Type)))
{
string domainRole = string.Format("{0}\\{1}", "extranet", role.Type);
if (SC.Security.Accounts.Role.Exists(domainRole))
{
virtualUser.RuntimeSettings.AddedRoles.Add(domainRole);
}
}
}