Diskuze: spuštění aplikační role sp_setapprole ve vb.net
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Nějak jsem to nepobral, ty chceš, aby se načtení dat z DB povedlo jen tomu, kdo má na něco práva, nebo jsem to špatně pochopil?
Ahoj, vezmu to trochu ze široka. Předělávám svou starší aplikaci,
poměrně rozsáhlou, psaná ve visualfox- Počat uživatelů přistupujících
do aplikace a dat jsou řádech 100. Politika firmy (jedna ze zásad) je
přístup na data SQL serveru přes aplikační roli. Foxa má možnost
otevřít sdílené přípojení a na něm otvírat vzdálená view (obdoba
dataset - datatableadapter). Při otevření toho sdíleného spojení (jednoho
vlákna) je otevřena aplikační role, která zajistí uživatelům, kteří
mají povoleno spuštět aplikaci k datům. Sdílené připojení se uzavírá
ukončením aplikace.
Prooto zkoumám možnost, jak vytvořit ve vb.net něco obdobného. Jedna z
možností co mne napadla je ta co jsem uvedl v dotazu. Omluvám se ale ve
vb.net se stále učím a učím.. Honza.
Uživatele se řeší tak, že jedna tabulka v SQL je přístupná bez aplikační role pro administrátory systému (a pak tam už jsou u každého nastaveny jednotlivé skupiny přístupů, ale to se netýká dat, ale funkčnosti) . Přes Helpdesk se zadá požadavek na zavedení nového či zrušení starého účtu) a pal když je ověřen, tak je mu povleno spusti aplikačně tu roli.
Já měl spíš na mysli přihlašování jednotlivých uživatelů...
No právě to tak je, tou apliakční rolí se už dál nemusí řešit příhlašování a práva na jednotlivé tabulky sql. Ta usertabulka jako jediná má nastavený přístup pro všechny účty v activedirectory hlavní domény. Ostatní pak obstarává ta aplikační role, kterou může spusti jen uživatel definovaný v usertabulce
na té politice (bohužel) nelze nic nezměnit ani do toho kecat. prostě mne jde jen o to, jak to co funguje ve foxu aplikovat co nejjednodušeji ve vb.net
A ta "aplikační role" je definovaná kde? V AD nebo v SQL? A kdo má jakou roli je zapsáno kde? A uživatelé se tedy tahají z AD nebo jsou v tabulce SQL u aplikace?
aplikační role je vlastně něco jako interní "user" sql, který se v security pojmenuje a na ní se nastaví přístupy na jednotlivé tabulky SQL databáze, ta volaná sp_setapprole je interní funkce sql stroje, která pak dál "pustí" jakéhokoliv uživatele, který má právo spustit tu roli. Proto se na to ptám, nepotřebuji nic jiného, než najít lepší způsob než jsem popsal a to ostatní /uživatele a AD/ s tím vůbec nesouvisí.
No uživatelé s tím docela souvisí, protože já bych řešil přístupy do DB na úrovni aplikace a ne na úrovni DB. Po přihlášení se zkontroluje, kterou roli má uživatel přidělenou a aplikace si tu roli pamatuje a podle toho pouští nebo nepouští do určitých akcí...
Tohle taky vím a SQL docela slušně zvládám, ale prostě to tak bezpečností IT manager požaduje a s tím nic neudělám. No nic, udělám si nějakou pomocnou třídu na to fill a update tím způsobem jak sem naznačil a bude to. Každopádně díky za čas a názory. H.
Zobrazeno 12 zpráv z 12.