Sitecore:呈现用户没有读取权限的项目

Sitecore: Render item for which the user does not have read access

我有一个项目需要验证:我已设置 Extranet\anonymous 读取访问被拒绝。当匿名用户尝试访问时 url 被重定向到登录页面。很好,到目前为止...现在我们希望允许匿名用户在 url 中给定 "token" 时能够访问。我在 httprequestbegin 管道中的 Itemresolver 之后设置了上下文项 "manually",将 httprequestargs 属性 PermissionDenied 设置为 false,但它仍然将用户重定向到登录页面。任何的想法?我试图避免将逻辑放在子布局级别,但与此同时(理论上)这是一次性要求,所以我不想让它过于复杂。谢谢!

安全检查和登录页面的重定向也在 Sitecore.Pipelines.RenderLayout.SecurityCheck 处理器中在 renderLayout 管道中执行。如果当前用户具有读取权限,则有签入代码:

Context.Item.Access.CanRead()

您应该覆盖此处理器才能显示此项目。