2

Sitecore で、匿名ユーザーの特定のページへのアクセスを拒否しました。

これは正しく機能しますが、ページがナビゲーション メニューとサイトマップ (両方の XSLT) に表示されないことも意味します。

私が望むのは、ユーザーがリンクを見ることができるが、クリックすると登録/ログインページにリダイレクトされることです。

4

2 に答える 2

3

メニューとサイトマップにページが表示されるようにするには、匿名ユーザーがページを表示できるようにする必要があります。

ただし、 Sitecore.Pipelines.HttpRequest.HttpRequestProcessorをオーバーライドして、ページがログインを必要とするかどうかを確認し (たとえば、テンプレートに RequiresLogin True/False を追加することにより)、リダイレクトされない場合はユーザーがログインしているかどうかを確認します。あなたのログインページ。

ここに HttpRequestProcessor をオーバーライドする例があります

于 2013-03-27T18:33:15.510 に答える
3

メニューのレンダリング ロジックを SecurityDisabler でラップすると、ユーザーがそれらを「見ることができない」場合でも、すべてのアイテム リンクがレンダリングされます。

using (SecurityDisabler disabler = new SecurityDisabler())
{
  foreach (Item item in Sitecore.Context.Item.Children)
  {
    ... render the link ...
  }
}
于 2013-03-27T18:38:56.130 に答える