5

コンテンツエディターのエクスペリエンスを合理化するために、公開ダイアログウィンドウに表示される言語が、エディターが言語書き込みアクセス権を持っている言語に制限されていることを確認したいと思います。さまざまな編集者の役割に対して言語書き込みを適切に設定しましたが、[システム]> [言語]の選択全体が引き続き公開ダイアログに表示されます(下のスクリーンショット-[言語の公開]セクションは、言語書き込みに基づいて合理化しようとしているものですperms)。必須ではない言語のLanguageReadを拒否して、それが実行されたかどうかを確認しようとしましたが、実行されませんでした。これを行う方法はありますか?

ここに画像の説明を入力してください

4

2 に答える 2

6

言語が[公開]ダイアログに表示されるかどうかは、Language Readアクセス権に依存しません。これを決定するのは単にRead正しいことです。

ここに画像の説明を入力してください

于 2012-12-06T09:14:33.710 に答える
2

言語の継承を破ったことがありますか?デフォルトでは、everyoneグループは言語への読み取りアクセス権を持っているため、たとえば英語(カナダ)の役割を選択する場合は、他のすべての言語の継承を明確に解除する必要があります。

言語の許可

これを試したところ、特定の役割で言語読み取りを削除すると、公開言語リストからその言語が削除されます。アクセスビューア(>セキュリティツール)を使用して、言語読み取りが別の役割から継承されていないことを確認します。

dotPeekで公開ダイアログを作成するメソッドを見てください。これはsitecore/shell / Applications / Dialogs / Publish/Publish.xmlの横にあるコードです。

Sitecore.Client.dllのSitecore.Shell.Applications.Dialogs.Publish.PublishFormクラスのBuildLanguages()メソッド

また、Sitecore構成のCheckSecurityOnLanguagesがtrueに設定されていることを確認してください。

マルチサイトを実行していて、ブランチごとに異なる権限を持っている場合は、Publishing.CheckSecurityPublishing.RequireTargetDeleteRightWhenCheckingSecurityがあることを確認してください。そうしないと、ユーザーはアイテムを相互公開できますが、これは希望どおりではありません。

http://sitecorebasics.wordpress.com/2011/04/12/publishing-security-basics/

[編集]@Ruud、アイテムへのロールアクセスを明確に拒否するべきではありません。代わりに、継承を解除する必要があります。そうすれば、ロールを複合した場合(つまり、ユーザーが複数のロールに属している場合)、ユーザーは引き続きそのアイテムにアクセスできます。アクセスを拒否すると、他の権限でそれを上書きすることはできなくなります。

Sitecore Worst Practicesブログシリーズ:セキュリティ

拒否が許可を上書きするのを防ぐために、継承を破ってアクセス権を付与することを優先して、アクセス権を拒否することは避けてください。

申し訳ありませんが、投稿に直接コメントするのに十分な担当者がいません。

于 2012-12-05T17:33:20.157 に答える