Witam.
Swojego czasu zapoznałem się z połączeniem do bazy danych postgre z poziomu aplikacji napisanej w c#.
Muszę napisać pewien projekt na zajęcia z programowania i w jego założeniach mam zaplanowane zrobić konta użytkowników z różnymi poziomami uprawnień (powiedzmy user, szef, super_administrator).
Konta są zakładane w programie postgre oraz będzie możliwość ich zakładania z poziomu aplikacji c#. Z tego co się orientuję po zalogowaniu przez użytkownika, dane konta pojawiają się w zarządzaniu komputerem w usługach lokalnych grup i użytkowników w windowsie.
Przechodząc do sedna.
Program posiadałby paski szybkiego dostępu oraz ma formatkę do której wrzuciłem tabcontrol1. W tabcontrol mam tabpage1, tabpage2, tabpage3, tabpage4.
Dla zwykłego usera chciałbym nadać uprawnienia dostępu do tabpage1, tabpage2. Dla szefa nadać uprawnienia do tego co ma user + tabpage3. A superadmin miałby dostęp tylko do zakładki tabpage4 w której byłyby zakładane konta użytkowników.
Po odpaleniu programu, pojawia się okno logowania (nowa formatka) przez które, mogą się logować poszczególni użytkownicy.
Teraz następuje pytanie.
W jaki sposób oprogramować kod w c#, żeby program weryfikował, czy zalogowany użytkownik posiada uprawnienia do poszczególnych buttonów zakładek czy opcji na pasku szybkiego wybierania ?
Jak sprawdzić czy użytkownik istnieje w bazie kont użytkowników ?
Mam jeszcze pytanie dotyczace połączenia z bazą danych.
Podczas gdy naciskam poszczególne buttony, uruchamiają mi się poszczególne procedury dodające, usuwające lub edytujące bazę danych. w Kodzie używam między innymi
button
{
....
conn.open()
...
kod c#+ zapytania sql
...
conn.close()
}
Co oznacza że za każdym razem otwieram oraz zamykam połączenie z bazą danych .
Jak zrobić, żeby połączenie z bazą danych trwało cały czas po zalogowaniu użytkownika i rozłączenie następowałoby tylko wtedy, gdy zamykany byłby program lub podczas gdy następowałoby przelogowanie na inne konto ?