Hej. Z góry oznajmiam iż jestem świeżakiem, jeśli popełnię jakiś błąd to proszę bez linczu jak na pewnym forum na litekę "e" :). Otóż pisze program w winforms, jest to projekt który pisze w celu nauczenia się języka. Posiadam formularz logowania i tutaj pojawia się mój problem.
1. Jak dobrze zrobić logowanie, aby wszystko było bezpiecznie?
Na poradnikach dla początkujących, widzę jak ludzie wrzucają swojego connection stringa do kodu, logują się szukając danych podanych od użytkownika przy logowaniu (login,hasło) w bazie danych. Wyczytałem (i też tak podejrzewam) że to skrajnie głupie, podawanie swojego loginu i hasła do bazy danych bezpośrednio w kodzie.. Jak zatem to rozwiązać? Tak żeby było bezpiecznie, tak żeby użytkownik nie musiał się bać zalogować do aplikacji :D.
+Nadmienię tutaj jeszcze tylko, że znam zasady z hashowaniem haseł, używaniem salt i wiem dokładnie jak się to robi, chodzi mi konkretnie o wpisywanie swoich danych dostępowych do kodu.
2. Jak postępować z danymi użytkownika w dalszej części, po zalogowaniu?
Okej, załóżmy że nasz użytkownik się zalogował. Znika okno logowania, pojawia się program. W programie bym chciał wyświetlić:
- Nickname użytkownika
- Ilość punktów
Oczywiście do obu danych posiadam pola im odpowiadające w bazie danych. Z samymi komendami do SQL nie mam problemu, mógłbym te dane najzwyczajniej w świecie wyciągnąć z bazy, ale domyślam się że wpisanie na sztywno SELECT points FROM users WHERE user=login; jest skrajnie głupim pomysłem, co prawda by zadziałało ale ja chciałbym żeby aplikacja była bezpieczna i szukam sposobu aby zrobić to poprawnie.
Bardzo proszę o pomoc, oprócz samych wskazówek wszelkie materiały (po angielsku też mogą być) się przydadzą, z góry dziękuję! :)
Używam PostgreSQL, Piszę w C# WinForms