在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);
}
}
}