Vítejte na blog.vyvojar.cz Přihlásit | Registrovat | Pomoc
Titulní Blogy Fotky Soubory

Mazinův blog o SharePointu

Problém s právy v SharePointu

Dnes jsem zase narazil na jednu "zajímavou vlastnost" SharePointu.

Týká se to práv, neboli oprávnění. Standardně se oprávnění v SharePointu, dědí tzn. oprávnění nastavená na úrovni seznamu (ale i knihovny dokumentů) se automaticky aplikují i na položky seznamu. Samozřejmě se ale dají nastavit oprávnění i na úrovni jednotlivých položek. V takovém případě se dědění přeruší a od toho okamžiku si oprávnění seznamu a dotčených položek žijí vlastním životem. Tedy mělo by to tak být... ale není.

Po čase zjistíte, že na úrovni seznamu už nemáte jen oprávnění, která jste sami nastavili, ale jsou tam oprávnění pro každého jednotlivého člověka (nebo skupinu), který má individuálně nastavená oprávnění na nějaké položce v daném seznamu. SharePoint totiž pro každého, komu je nastaveno oprávnění na úrovni položky, přidělí na úrovni seznamu oprávnění Omezený přístup. Toto oprávnění samo dotyčného neopravňuje k ničemu a SharePoint si ho tam přidává automaticky patrně z nějakého vnitřního důvodu.

Problém nastane v situaci, kdy se pokusíte oprávnění na úrovni seznamu smazat! V takovém případě se odstraní oprávnění nejen na úrovni seznamu, ale i všechna oprávnění dotčeného uživatele (nebo skupiny) ze všech obsažených položek. A to včetně těch, které mají individuálně nastavená práva.

Řešením (i když je to takové drbání levou rukou za pravým uchem) je oprávnění na úrovni seznamu nemazat, ale měnit je na oprávnění "Omezený přístup".

Představte si následující situaci:

Máme seznam úkolů. Na něm jsou nastavena oprávnění tak, že do něj mohou přidávat úkoly členové skupiny Vedení a Konzultanti. Dále nad tímto seznamem běží workflow, které se spustí při vložení úkolu. Reaguje tak, že přeruší dědění oprávnění a nastaví je tak, že skupina Vedení může úkol editovat a smazat a ten, komu je úkol přiřazen, ho může editovat. Konzultanti úkol mohou číst. Pak se rozhodnete, že konzultanti nebudou moci vkládat úkoly, takže jim oprávnění na úrovni seznamu v dobré víře odstraníte. Tím si ale nas....te do bot, protože v tu chvíli se konzultantům odeberou oprávnění čtení i ze všech úkolů.

Nejprve jsem doufal, že se toto chování týká jen SharePointu 2007, ale projevuje se stejně i v SharePointu 2010.

Zveřejněno Wednesday, August 18, 2010 11:20 PM by mazin

Komentář

 

air napsal:

Mne pride toto chovanie ako normalne a logicke. Vsetci uzivatelia ktori maju pravo na nieco v zozname, su viditelni aj v nastaveniach prav zoznamu. Je to asi aj jedine miesto, kde je mozne vidiet kto vsetko sa dostane do tohoto zoznamu, aj ked vidi zaznamy len filtrovane podla prav na jednotlivych dokumentoch. Jedine co mi chyba je ze mohol byt aj niekde odkaz ze ak ma obmedzeny pristup, tak co to konkretne znamena (napr. readonly prava na dokument 123).

August 19, 2010 8:05 AM
 

mazin napsal:

Především děkuji za názor. Popsaný problém má 2 roviny.

První z nich je, že se pro každého člověka na úrovni seznamu vytvoří to oprávnění/neoprávnění Omezený přístup. Aspoň má skutečně správce přehled, kdo má nějaké oprávnění k něčemu v tom seznamu (i když se bohužel nedoví k jaké položce a jaká oprávnění to jsou). Problém je v tom, že v tom seznamu oprávnění na úrovni seznamu tam nakonec máte téměř všechny uživatele s oprávněním Omezený přístup a pár ostatních, které jste nastavil. To je hrozně nepřehledné.

Druhá rovina je v tom mazání oprávnění. Přerušení dědění je doprovázeno zavádějícím upozorněním, že už se nastavení práv na seznamu a na té položce už se nebudou ovlivňovat. V článku popsané chování (odstranění práva z nadřazené položky odstraní všechna práva dotčené osoby i ze všech podřízených položek, u kterých bylo přerušeno dědění), podle mě, v logické není. Nechová se tak žádný jiný systém, který jsem viděl. Zkuste si to např. u diskových adresářů a souborů.

August 19, 2010 9:24 PM
 

Skull napsal:

Já asi opět nebudu souhlasit s názorem Mazina a poskytnu jiný pohled. A uchýlím se právě k diskovým souborům, adresářům a spec. nastavením.

V případě, že máte složku a v ní dokumenty, chcete uživatelům nastavit přístup na některé, tedy ne všechny, dokumenty ve složce, co musíte udělat?

- na složku nastavit spec. oprávnění "pouze přístup do složky", které nepředává žádné právo na obsahu v rámci dědičnosti. Pouze do složky vstoupit a číst obsah.

- na konkrétních dokumentech pak nastavit právo pro uživatele.

Toto spec. nastavení práv zajistí, že dokument vytvořený ve složce automaticky nezdědí toto nastavení práv. Až ruční nastavení práva na dokumentu umožní uživateli přístup.

Stejně to tedy vidím v případě ShP. úložiště obsahu. Omezený přístup umožňuje uživateli vstoupit do obsahu úložiště. Co tam uvidí je definováno právem nastaveným na obsahu úložiště.

Smažete-li právo přístupu do složky, nemá smysl zachovat práva ve složce. Na to se musí dávat jednoznačně pozor.

February 20, 2011 1:53 PM
Neregistrovaní uživatele nemužou přidávat komentáře.

Syndication

News

  • Web Developer
  • Enterprise Application Developer

  • Microsoft Office SharePoint Server 2007, Application Development
  • Microsoft Windows SharePoint Services 3.0, Application Development
  • Microsoft Office SharePoint Server 2007, Configuration
  • Microsoft Windows SharePoint Services 3.0, Configuration
  • .Net Framework 2.0, Distributed Applications
  • .Net Framework 2.0, Web Applications
  • .Net Framework 2.0, Windows Applications
Powered by Community Server (Personal Edition), by Telligent Systems