获取具有基于角色保护的页面角色

Get roles of page with role based protection

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

虽然我找不到如何使用它,但我只知道

IContent content = GetById(id);
Attempt<PublicAccessEntry> access = _publicAccessService.IsProtected(content);

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

这就是你的做法;

IContent content = GetById(id);
var publicAccessService = ApplicationContext.Current.Services.PublicAccessService;
var entryForContent = publicAccessService.GetEntryForContent(content);

您会看到 entryForContent 结果有规则,这就是您需要的。请参阅下面的详细信息;