Oprávění uživatelů pro přístup k dokumentům
- raketoplan2005
- Člen | 147
Ahoj,
řeším teď problém s přístupem k dokumentům, ale možná to lze pojmout více obecně.
Dokument má nějakého vlastníka a se k němu může přistupovat na základě definovaných oprávnění pro konkrétní uživatele, nebo skupinu.
Původní myšlenka byla řešit to pomocí ACL např. tak, že se podívám jestli má daný uživatel právo číst dokumenty, čímž zjistím, že má uživatel roli, která může číst dokumenty, ale nemusí to nic říkat o tom jestli může číst tento konkrétní, takže je tam tohle ověření skoro navíc.
Druhý směr který jsem uvažoval byl evidovat u souboru konkrétní list uživatelů, kteří mají k němu přístup, kde je ale obrovský overhead při zařazování uživatele do skupin, mazání skupin a obecně management uživatelů.
Další problém může nastat ve chvíli kdy mám sice správnou roli – můžu číst dokumenty tohoto typu, ale nejsem na správné pobočce organizace (toto ale nevím jestli tam aktuálně míchat, jen to zmiňuji jako další eventuální problém).
Nevím jak přesně bych měl tuto situaci nejsnáze servisně, nebo i databázově obsáhnout tak aby se s ní dobře pracovalo. Řešili jste prosím někdo něco podobného DMS, nebo správu souborů např. ve stylu Google Docs a mohli byste mě třeba nasměrovat na návrhový vzor, nebo link kde se daná problematika řešila podle vás efektivně?
Díky moc
- F.Vesely
- Člen | 369
Tak budes muset nekde mit ulozena prava k jednotlivym souborum. Nemusis si evidovat u souboru seznam vsech uzivatelu nebo skupin, ale pouze tech, kteri maji pravo k pristupu. Nechapu, proc vidis problem s managmentem uzivatelu, to je uplne jina cast aplikace.
Osobne bych mel 2 tabulky na prava, jednu na uzivatele a jednu na skupiny. Udelal bych si sluzbu, ktera by kontrolovala opravneni k souborum. Ta sluzba by se pak podivala do tabulky s uzivatelama, jestli je tam zaznam pro dany soubor a prihlaseneho uzivatele, pokud ano, ma pristup, pokud ne, zkontroloval bych, jestli je zaznam v tabulce se skupinama pro dany soubor a alespon jednu skupinu, ve ktere je prihlaseny uzivatel.