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?
Odpowiedz
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.
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).
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.
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
Czy możesz potwierdzić, że pole Publishing.CheckSecurity powinno mieć wartość true, a parametr Publishing.RequireTargetDeleteRightWhenCheckingSecurity powinien być ustawiony na wartość false? –
@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
Dziękuję - działało to doskonale dla mnie. – wildwend