1

簡単なhtmlでサブレイアウト(ユーザーコントロール)を作成しました。ユーザーが特定のロールに属している場合にのみ、このサブレイアウトを表示したい。

組み込みの sitecore デベロッパー センターを使用してサブレイアウトを追加すると、次のような結果になります。

  <sc:Sublayout runat="server"
                 RenderingID="{item guid here}" 
                 Path="/layouts/sublayouts/someusercontrol.ascx" 
                 ID="Sublayout1" placeholder="content"></sc:Sublayout>

そこで使用されているサブレイアウトの読み取り許可を拒否しても影響はありません (ファイル パスが正しいため、ロードされていると思いますか?)。パスを取り出すと、現在のユーザー ロールに関係なく、何も得られません。

現在のユーザーがコードビハインドから適切な役割にあるかどうかを手動で確認したくありません。ユーザーのアクセス許可を考慮して可視性を決定するサブレイアウトを取得するには、どのマークアップを使用すればよいですか?

4

1 に答える 1

3

マークアップのユーザー ロールに基づいてサブレイアウトの表示を制御することはできないと思います。このサブレイアウトをプレースホルダーに動的に追加した場合、条件付きレンダリング (6.5 の「パーソナライズ」ボタン) を使用してこれを達成し、ユーザーが特定のロールのメンバーでない限りコンポーネントを非表示にすることができます。

于 2012-04-06T20:24:05.893 に答える