Autentifikace uživatele   otázka

VB.NET, Bezpečnost

Zdravím,

mám dotaz dělám aplikaci WinForms ve spojení s SQL serverem. Aplikace by měla běhat na síti s tím, že ne všichni uživatelé, kteří mají přístup do sítě mají přístup k aplikaci. Moje představa je, vytvořit tabulku s uživatelskými jmény, ve které budou uvedeni pouze uživatelé, kteří mají přístup k aplikaci, při spuštění vyfiltruji, zda je uživatel, který je aktuálně přihlášen ke stanici uveden v seznamu povolených osob a pokud ano, načtu data - dosud nemám problém. Pokud uživatel není uveden, chtěl bych mu nabídnout přihlašovací formulář, takže by se mohl přihlásit jako uživatel, který má povolený přístup. A teď k dotazu: dá se někde na sql serveru dohledat aktuální uživatele? jde mi o to, aby do aplikace bylo stejné heslo jako do sítě a v případě změny hesla v síti by se změnilo automaticky i heslo do aplikace. nebo má někdo jiný nápad, jak to řešit?

Děkuji za nápady :)

Martin

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nejprve k Vaší představě "tabulky uživatelů". To je celkem nedobré řešení, protože má-li ta tabulka být v databázi, tak její obsah budete muset umět načíst, k čemuž budete muset mít přístupová práva - takže to je trochu problém "co bylo dřív - slepice nebo vejce".

Pokud máte na mysli Microsoft SQL server, tak tam existuje dvojí způsob přihlašování k serveru - "SQL driven" a "integrated / trusted".

Česky - buď se o přihlašování stará SQL server sám - to je ten první případ - nebo je to ponecháno na systému.

První varianta bude fungovat vždy, i kdyby SQL server běžel na Windows 98 a zahrnuje jména a hesla uložená na samotném serveru.

Druhý způsob vyžaduje doménový řadič, kde pomocí účtů a rolí můžete uživateli (skupině) povolit / zakázat pod svým jménem a heslem páchat určité věci - třeba se přihlašovat k SQL serveru. To bude nejspíše to, co potřebujete.

Nevím ale, zda používáte síť s doménou či nikoli...

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

Zdravím,

děkuji za reakci, ano, používáme síť s doménou.

Zkoušel jsem vyhledat v SQL uživatele - každému z nich lze přiřadit pro určitou databázi práva, co mohou nebo nemohou páchat. Problém je v tom, že žádná hesla nejsou nikde dosažitelná, alespoň jsem je nenašel a hledal jsem i v systémových tabulkách SQL.

Pro připojení k serveru používám násl. connectionstring:

Con.ConnectionString = "Server=server; Database=Scheduler_2009;Integrated Security=SSPI; connection timeout=30"

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano, to je správně.V čem je problém? Ta hesla jsou přece uložena na PDC a ne v SQL!

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Prosím o nakopnutí, jak je vytáhnout. Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback