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 ...
}
}