在 Umbraco 中保存新文档时在代码中设置基于角色的权限

Setting Role Based Permission in code when saving new doc in Umbraco

我正在使用 Umbraco 7.2.8。保存特定类型的新文档时,我正在连接到 ContentService.Saved 事件,我希望能够将 Public 访问设置为仅允许特定成员组访问它。就像我在这里使用 Gui 一样。

我在此处的文档中看到https://our.umbraco.org/documentation/Reference/Management/Services/ContentService有几个方法,例如

.AssignContentPermission(IContent 内容, 字符权限, IEnumerable userIds)

ReplaceContentPermissions(EntityPermissionSet 权限集)

这两者都允许我传递具有访问权限的 userIds 用户列表,但我有兴趣设置具有访问权限的成员组以及登录页面和错误页面。我该怎么做?

以前都是这样做的。我认为它仍然适用:

Access.ProtectPage(false,nodeIdOfPageToProtect,loginPageNodeId,errorPageNodeId);
Access.AddMembershipRoleToDocument(nodeIdOfPageToProtect,"roleName");

方法在 umbraco.cms.businesslogic.web 中,因此请确保为您的页面设置此方法

using umbraco.cms.businesslogic.web; 

有帮助吗?