检查umbraco用户是否可以看到发布的内容

检查umbraco用户是否可以看到发布的内容,umbraco,umbraco7,Umbraco,Umbraco7,我有Umbraco用户Id(不是当前用户Id)和发布的内容Id,如何检查用户是否能够看到此内容? 我发现这个api: Access.HasAccess(int documentId, memberId) 但它被标记为过时。实现此目的的任何其他方法?对于当前成员,您应该使用UmbracoHelper.MemberHasAccess方法 因此,作为一个示例,您可以使用类似的方式显示该成员有权访问的当前页面的子项: var children = Model.Content.Children.W

我有
Umbraco
用户Id(不是当前用户Id)和发布的内容Id,如何检查用户是否能够看到此内容? 我发现这个api:

  Access.HasAccess(int documentId, memberId)

但它被标记为过时。实现此目的的任何其他方法?

对于当前成员,您应该使用UmbracoHelper.MemberHasAccess方法

因此,作为一个示例,您可以使用类似的方式显示该成员有权访问的当前页面的子项:

var children = Model.Content.Children.Where(c => Umbraco.MemberHasAccess(c.Path));

但是您说这不是针对当前成员的,所以您可以扩展问题以了解您正在尝试做什么吗?

对于当前成员,您应该使用UmbracoHelper.MemberHasAccess方法

因此,作为一个示例,您可以使用类似的方式显示该成员有权访问的当前页面的子项:

var children = Model.Content.Children.Where(c => Umbraco.MemberHasAccess(c.Path));
但是你说这不是为当前会员准备的,所以你能扩展你的问题来理解你想做什么吗?

我用这个:

int memberId;
int nodeId;


var publicAccessService  = ApplicationContext.Current.Services.PublicAccessService;
var contentService = ApplicationContext.Current.Services.ContentService;
var memberService = ApplicationContext.Current.Services.MemberService;

var member = memberService.GetById(memberId);
var rolesList = Roles.GetRolesForUser(member.Username);


if(publicAccessService.HasAccess(nodeId, contentService, rolesList))
{
    // has access
}
{
    // does NOT have access
}
我用的是:

int memberId;
int nodeId;


var publicAccessService  = ApplicationContext.Current.Services.PublicAccessService;
var contentService = ApplicationContext.Current.Services.ContentService;
var memberService = ApplicationContext.Current.Services.MemberService;

var member = memberService.GetById(memberId);
var rolesList = Roles.GetRolesForUser(member.Username);


if(publicAccessService.HasAccess(nodeId, contentService, rolesList))
{
    // has access
}
{
    // does NOT have access
}

您看过ApplicationContext.Current.Services.PublicAccessService.HasAccess了吗(还记得“使用Umbraco.Core.Services”吗)您看过ApplicationContext.Current.Services.PublicAccessService.HasAccess了吗(还记得“使用Umbraco.Core.Services”)