Diskuze: spuštění aplikační role sp_setapprole ve vb.net

C# .NET .NET (C# a Visual Basic) spuštění aplikační role sp_setapprole ve vb.net American English version English version

Avatar
honza.krivanek:

Ahoj, jak bych měl správně postupovat při otvírání aplikační role SQL serveru (sp_setapprole), když používám "automatizované"

TABULATableadapter.fill(dataset.TABULKA)

napadá mne řešení nejdřív otevřít manualně spojeni na TABULKATableadapter
pak zavolat něco jako

"exec sp_setapprole 'nazevrole','heslorole'"

pak provést to fill
a pak zavřít spojení

Asi by to bylo nutné pak i při "update"

Nebo to jde nějak jednodušeji?
Díky za odpověď.
Honza.

Odpovědět 14.10.2014 10:05
i pád na hubu je pohybem vřed
Avatar
Odpovídá na honza.krivanek
Michal Štěpánek:

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?

Nahoru Odpovědět 14.10.2014 14:06
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
honza.krivanek:

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.

Nahoru Odpovědět 14.10.2014 16:30
i pád na hubu je pohybem vřed
Avatar
Nahoru Odpovědět 14.10.2014 16:43
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
honza.krivanek:

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.

Nahoru Odpovědět 14.10.2014 16:49
i pád na hubu je pohybem vřed
Avatar
Odpovídá na honza.krivanek
Michal Štěpánek:

Já měl spíš na mysli přihlašování jednotlivých uživatelů...

Nahoru Odpovědět 14.10.2014 17:05
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
honza.krivanek:

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

Nahoru Odpovědět 14.10.2014 17:14
i pád na hubu je pohybem vřed
Avatar
Odpovídá na honza.krivanek
honza.krivanek:

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

Nahoru Odpovědět 14.10.2014 17:16
i pád na hubu je pohybem vřed
Avatar
Odpovídá na honza.krivanek
Michal Štěpánek:

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?

Editováno 14.10.2014 17:20
Nahoru Odpovědět 14.10.2014 17:20
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
honza.krivanek:

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í.

Nahoru Odpovědět 14.10.2014 19:19
i pád na hubu je pohybem vřed
Avatar
Odpovídá na honza.krivanek
Michal Štěpánek:

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í...

Nahoru Odpovědět 14.10.2014 19:50
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
honza.krivanek:

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.

Nahoru Odpovědět 14.10.2014 19:58
i pád na hubu je pohybem vřed
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.