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