2012-12-05 15 views
5

Aby usprawnić działanie edytorów treści, chcę się upewnić, że języki wyświetlane w oknie dialogowym publikowania są ograniczone do języków, do których edytor ma dostęp do zapisu językowego. Ustawiliśmy odpowiednio Language Write dla różnych ról redaktorów, ale cały wybór System> Languages ​​nadal pojawia się w oknie publikowania (zrzut ekranu poniżej - sekcja Język publikacji jest tym, co chcę usprawnić na podstawie lang write perms). Próbowałem odmówić Language Read dla nieistotnego języka, aby sprawdzić, czy to zrobiło, ale tak się nie stało. Czy jest jakiś sposób na zrobienie tego?Jak ograniczyć liczbę języków wyświetlanych w oknie publikowania Sitecore?

enter image description here

Odpowiedz

5

Dostępność języka w oknie dialogowym Opublikuj nie zależy od prawa dostępu Language Read. To jest po prostu prawo Read, które określa to.

enter image description here

+0

Dziękuję - działało to doskonale dla mnie. – wildwend

2

Czy masz złamaną dziedziczenia na językach? Domyślnie grupa Wszyscy ma dostęp do odczytu dla języków, więc musisz w szczególności wybrać dziedziczenie dla wszystkich innych języków, na przykład wybierając rolę angielską (Kanada).

Language Permissions

Właśnie próbowałem i usuwanie Język przeczytać na konkretnej roli usuwa język z listy języków opublikować. Użyj Access Viewer (> Narzędzia zabezpieczające), aby upewnić się, że język Czytajnie jest dziedziczony z innej roli.

Spójrz na metody, które buduje Publish okno w dotPeek, to codebeside dla Sitecore/Shell/Programy/Dialogi/Publikowanie/Publish.xml

BuildLanguages ​​() metoda w Sitecore.Shell. Applications.Dialogs.Publish.PublishForm klasa w Sitecore.Client.dll

Upewnij się również, że CheckSecurityOnLanguages w konfiguracji Sitecore jest ustawione na true.

Należy pamiętać, jeśli używasz systemu multi-miejsce i mają różne uprawnienia w różnych branżach, upewnij się, że masz Publishing.CheckSecurity i Publishing.RequireTargetDeleteRightWhenCheckingSecurity inaczej użytkownicy będą mogli przejechać publikować elementy, które jest nie to, co chcesz.

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

[EDIT] @Ruud, nie należy specjalnie odmówić dostępu rolę elementu, zamiast należy przerwać dziedziczenie, że sposób, jeśli złożone role (czyli użytkownik należy do wielu ról) użytkownik nadal będzie mieć dostęp do tego elementu. Jeśli odmówisz dostępu, żadne inne pozwolenie nie będzie w stanie go zastąpić.

Sitecore Worst Practices Blog Series: Security

Aby zapobiec odmowę z nadrzędnymi zasiłek, należy unikać odmawianie prawa dostępu za łamanie dziedziczenia i przyznawania praw dostępu.

Niestety, nie masz wystarczającej liczby przedstawicieli, aby skomentować bezpośrednio swój wpis.

+0

powinienem dodać, jeśli to jest związany z innym pytanie [] (http://stackoverflow.com/questions/13690804/how-to-limit-sitecore-language-write-to-only -certain-parts-of-the-content-tree) o ograniczeniach językowych, to będzie sprzeczne z tym wymaganiem, ponieważ inne wymagania mogą wymagać Read access na języku w zależności od twoich wymagań. Dodam więcej informacji do mojej odpowiedzi w drugim pytaniu, kiedy mam czas. – jammykam

+0

Czy możesz potwierdzić, że pole Publishing.CheckSecurity powinno mieć wartość true, a parametr Publishing.RequireTargetDeleteRightWhenCheckingSecurity powinien być ustawiony na wartość false? –

+0

@MatthewDresser Jeśli nie ustawisz opcji 'Publishing.CheckSecurity', opublikujesz wszystko w stanie do opublikowania, nawet jeśli użytkownik nie ma dostępu do odczytu/zapisu tych elementów. Zależy od tego, czego potrzebujesz, czy użytkownicy powinni mieć możliwość publikowania własnych treści? – jammykam