Umbraco
사용자 ID (현재 사용자 ID 아님)와 게시 된 콘텐츠 ID가 있는데이 사용자가이 콘텐츠를 볼 수 있는지 확인하려면 어떻게해야합니까? 나는이 API를 발견umbraco 사용자가 게시 된 콘텐츠를 볼 수 있는지 확인합니다.
Access.HasAccess(int documentId, memberId)
을하지만 그것은`는 사용되지 않는 것으로 표시했습니다. 이것을 달성하는 다른 방법은 없습니까? 현재 구성원에 대한
Umbraco
사용자 ID (현재 사용자 ID 아님)와 게시 된 콘텐츠 ID가 있는데이 사용자가이 콘텐츠를 볼 수 있는지 확인하려면 어떻게해야합니까? 나는이 API를 발견umbraco 사용자가 게시 된 콘텐츠를 볼 수 있는지 확인합니다.
Access.HasAccess(int documentId, memberId)
을하지만 그것은`는 사용되지 않는 것으로 표시했습니다. 이것을 달성하는 다른 방법은 없습니까? 현재 구성원에 대한
당신이해야 사용자
https://our.umbraco.org/documentation/reference/querying/umbracohelper/
그래서 당신이 할 수 예를 들어 현재 페이지 회원의 자식을 표시하려면이 같은 뭔가에 액세스 할 수있는 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
}
는 (이하 "사용 Umbraco.Core.Services"를 기억) ApplicationContext.Current.Services.PublicAccessService.HasAccess 봤어 – Eyescream