Uprawnienia w aplikacji C#

0

Witam Wszystkich!
Jak w temacie. Piszę aplikację w C# i zatrzymałem się na poziomie uprawnień. Mam utworzonych kilku użytkowników i kilka grup. Użytkownicy jak i uprawnienia przypisywane są do grup. Dane dotyczące uprawnień przechowywane są w bazie SQL.
Załóżmy, że w aplikacji jest zalogowany użytkownik z grupy Operatorzy. Grupa operatorzy posiada uprawnienia Tylko Do Odczytu. Jeżeli zdarzy się sytuacja, że mimo wszystko użytkownik kliknie na przycisk usuwający rekord program powinien wyrzucić komunikat o błędzie uprawnień - to jest oczywiste. Problem w tym jak zabrać się za sprawdzanie uprawnień? Przed każdym wykonaniem dowolnej funkcji sprawdzać uprawnienia aktualnie zalogowanego użytkownika? Czy jest na to jakiś inny sposób?
Przeglądałem artykuł: [C#] uprawnienia
Ale to też nie do końca to.
Dodam jeszcze, że dane aktualnie zalogowanego użytkownika przechowywane są w trakcie działania programu w statycznej klasie. Są tam dane dotyczące również grup do jakich należy użytkownik i uprawnień tych grup.

Z góry dziękuję za pomoc.

Pozdrawiam,
Michał

2
  1. użytkownik nie mający prawa do usuwania rekordu nie powinien móc kliknąć przycisku usuwania rekordu (przycisk albo nieaktywny, albo visible=false)
  2. jeśli są jakieś rzeczy w menu, do których ktoś nie ma uprawnień to ten ktoś ich nie widzi
  3. nadmiarowo nieco (zależy od tego, jak piszesz, co piszesz i po co piszesz), ale możesz w każdym miejscu, w którym "obawiasz" się o uprawnienia uzależnić wykonanie kodu od wyniku jakiejś metody typu bool canUserDoIt(User u, KindOfAction a)
2

Tak, przed każdym wykonaniem funkcji sprawdzasz w bazie uprawnienia danego użytkownika, jeżeli są jakieś to puszczasz go dalej, jeżeli są za słabe to komunikat o błędzie. Możesz też poblokowac kontrolki dla odpowiednich grup przy odpaleniu programu, wtedy tylko raz zapytasz bazę o uprawnienia użytkownika.

0
mifau napisał(a):

Piszę aplikację w C#

Jaką aplikację? Webową? Dekstopową? Konsolową? Język jest nieważny - ważna jest technologia.

0

Jest to aplikacja Desktopowa. Dokładnie z użyciem WindowsForms.

0

Już się uporałem ze sprawdzaniem uprawnień. Temat można zamknąć.
Raz jeszcze dziękuję za wszystkie odpowiedzi.
Pozdrawiam,

0

Tak jak pisali koledzy czy jakiś inny sposób ?

0

Tak jak pisali koledzy:
fourfour
trinibadi

1 użytkowników online, w tym zalogowanych: 0, gości: 1