通过API添加和更改用户和角色到Sitecore域

时间:2013-02-01 14:58:26

标签: sitecore sitecore6

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

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

1 个答案:

答案 0 :(得分:1)

我最终创建了一个允许我在需要时添加新语言(区域)的类。这是我合作过的想法。

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();

希望有所帮助。