在Sitecore中,我拒绝访问匿名用户的特定页面。
这可以正常工作,但这也意味着该页面不会出现在导航菜单和站点地图(两个XSLT)中。
我希望用户能够看到该链接,但是当他们点击它时会被重定向到注册/登录页面。
答案 0 :(得分:3)
您需要允许匿名用户查看该页面,以便在菜单和站点地图中显示该页面。
你可以做的是覆盖 Sitecore.Pipelines.HttpRequest.HttpRequestProcessor 以检查页面是否需要登录(例如,通过向模板添加RequiresLogin True / False),然后检查如果用户登录,如果没有重定向到您的登录页面。
Theres是一个覆盖HttpRequestProcessor here
的示例答案 1 :(得分:3)
您可以将渲染逻辑包装在SecurityDisabler的菜单中,这样即使用户“看不到”它们也会呈现所有项目链接。
using (SecurityDisabler disabler = new SecurityDisabler())
{
foreach (Item item in Sitecore.Context.Item.Children)
{
... render the link ...
}
}