使用基于角色的保护获取页面角色

nic*_*tto 1 umbraco user-roles umbraco7

目前的替代方案是umbraco.cms.businesslogic.web.Access.GetAccessingMembershipRoles什么?因为 umbraco 7.6 将其突出显示为已过时并告诉使用IPublicAccessService

虽然我无法找到如何使用它,但我所要做的就是

IContent content = GetById(id);
Attempt<PublicAccessEntry> access = _publicAccessService.IsProtected(content);
Run Code Online (Sandbox Code Playgroud)

它没有关于当前页面角色的任何信息。

Nur*_*aya 5

这就是你的做法;

IContent content = GetById(id);
var publicAccessService = ApplicationContext.Current.Services.PublicAccessService;
var entryForContent = publicAccessService.GetEntryForContent(content);
Run Code Online (Sandbox Code Playgroud)

您将看到 entryForContent 结果有规则,这就是您所需要的。详情见下文;

在此处输入图片说明

在此处输入图片说明