1

特定のユーザーに限定したサイトのさまざまな領域があります。したがって、たとえば、サイトコアロール「UK_Editor」のメンバーであるユーザーは、他のすべての国のコンテンツを表示できます(読み取りアクセスのみが可能です)。ただし、英国エリアでは、フルアクセスが可能です。

問題は、ユーザーが引き続き別の国のコンテンツに移動でき、[公開]ボタンが引き続き使用できることです。

これを制限する方法はありますか?

Sitecore v:6.5.0

4

3 に答える 3

6

Publishing.CheckSecurity構成設定を有効にすることをテストできます。これにより、ユーザーは正しい役割が適用された別のサイトのコンテンツを公開できなくなります。

       <!--  PUBLISHING SECURITY
        Check security rights when publishing?
        When CheckSecurity=true, Read rights are required for all source items. When it is
        determined that an item should be updated or created in the target database,
        Write right is required on the source item. If it is determined that the item
        should be deleted from target database, Delete right is required on the target item.
        In summary, only the Read, Write and Delete rights are used. All other rights are ignored.
        Default value: false
  -->
        <setting name="Publishing.CheckSecurity" value="true" />
于 2013-03-25T10:03:53.873 に答える
3

(の)クラスQueryStateのをオーバーライドできる場合がありますPublishItemSitecore.Shell.Framework.Commands

詳細については、この質問をお読みください。ボタンを非表示にする場合は
、戻る必要があります。CommandState.Hiddenすべての人が自分の言語でコンテンツを公開できるが、他の人では公開できないようにするには、何か賢いことを考える必要があります。

[編集]
次のようなことができるかもしれませんif (Sitecore.Context.User.IsInRole('sitecore\englisheditor') && context.Items[0].Language == Sitecore.Data.Managers.GetLanguage('en')) {return base.QueryState(context)}
。そうでなければ、CommandState.Hiddenを返すことができます。ただし、ifステートメントの2番目の部分については完全にはわかりません。

于 2013-03-25T09:47:11.040 に答える
1

次のブログ投稿をご覧ください。コアデータベースでの公開に関連するUIアイテムをセキュリティ制御する方法について説明しています。

http://www.cognifide.com/blogs/sitecore/why-and-how-hide-publish-site-buttons-in-sitecore/

于 2013-03-26T07:43:55.123 に答える