0

我必须创建一个单独的 Web 项目来访问 sitecore 域的角色和用户 API,因此我可以以编程方式添加具有自定义访问树以及自定义语言访问的新角色。我找到了安全 API 的文档, http://sdn.sitecore.net/upload/sitecore6/sc61keywords/security_api_cookbook_usletter.pdf

但是我不确定如何添加新角色,我可以创建任何类型的项目,例如 MVC4 还是必须在 WebForms 中?这甚至可以通过添加新角色并通过 API 为他们分配新用户来向树添加自定义权限,这样他们就可以通过 SiteCore 域正常登录?另外,我应该使用什么数据库,我看到有 3 个不同的数据库(核心、主控、网络),我是否必须手动连接到数据库并在那里添加角色,或者 API 会为我做这件事?

4

1 回答 1

2

我最终创建了一个类,让我可以在需要时添加新的语言(地区)。这是我的想法。

using(new Sitecore.Security.Accounts.UserSwitcher(user) //To switch to any user you want, in my case it was the "sitecore/admin"


System.Web.Security.Roles.CreateRole(roleName) //To create roles
var role = Sitecore.Security.Accounts.Role.FromName(roleName) //To retrieve the role.
//Get a list of the permissions that you would like to set
//For every item in that list
AccessRuleCollection accessRule = Item.Security.GetAccessRules();
acessRule.Helper.AddAccessPermission(role,AccessRight,PropagationType,AccessPermission);

//Write the Rules back to the item
Item.Editing.BeginEdit();
Item.Security.SetAccessRules(accessRules);
Item.Editing.EndEdit();

希望有帮助。

于 2013-02-05T14:38:49.150 回答