0

サイトコア ドメインの Roles and Users API にアクセスするには、別の Web プロジェクトを作成する必要があるため、ツリーへのカスタム アクセスとカスタム言語アクセスを使用して新しいロールをプログラムで追加できます。セキュリティ API のドキュメント http://sdn.sitecore.net/upload/sitecore6/sc61keywords/security_api_cookbook_usletter.pdfを見つけました。

しかし、新しいロールを追加する方法がわかりません。MVC4 のような任意のタイプのプロジェクトを作成できますか?それとも WebForms である必要がありますか? 新しいロールを追加し、API を介して新しいユーザーを割り当てることで、ツリーにカスタム権限を追加することさえ可能で、SiteCore ドメインを介して通常どおりログインできるようになりますか? また、どのデータベースを使用すればよいですか。3 つの異なるデータベース (core、master、web) があることがわかります。データベースに手動で接続してそこにロールを追加する必要がありますか?

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 に答える