在 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;
有帮助吗?
我正在使用 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;
有帮助吗?