Jak stworzyć mechanizm wyświetlania menu w zależności od uprawenień użytkownika

0

Witam

Chciałbym w moim programie stworzyć mechanizm zarządzający wyświetlaniem menu w zależności od uprawnień posiadanych przez użytkownika aplikacji. Do uprawnień mam prostą tabelkę w bazie danych z następującymi kolumnami:
IDOperatora - nr operatora połączony z tabelą operatorów
IDModulu - nr modułu/opcji w menu
Przegladanie - wartość 0 - brak uprawnień do przeglądania modułu, wartość 1 - uprawnienie do przeglądania modułu
Dodawanie - wartość 0 - brak uprawnień do przeglądania dodawania rekordów , wartość 1 - uprawnienie do dodawania rekordów
Zmiana - wartość 0 - brak uprawnień do zmiany rekordów, wartość 1 - uprawnienie do zmiany rekordów
Usuwanie - wartość 0 - brak uprawnień do usuwania rekordów, wartość 1 - uprawnienie do usuwania rekordów

Chciałbym teraz zrobić jakiś uniwersalny mechanizm do zarządzania menu w zależności od uprawnień czyli jak np user ma w module 1 (analizy) uprawnienia do przeglądania to w menu pojawia się mu opcja Analizy - dodawanie, zmiana i usuwanie to już uprawnienia na odpowiednie buttony w danym module.
Aplikacja ma być dość obszerna i nie chciałbym za każdym razem jak dodam nowy moduł zmieniać całego menu dlatego pytam bardziej doświadczonych kolegów - może ktoś z Was miał już taki problem i go rozwiązał?

0

Możesz sterować właściwością Visible albo Enabled poszczególnych pozycji menu, ale cokolwiek byś nie zrobił, niech to nie będzie jedyną obroną przed nieuprawnionym działaniem: sprawdzaj uprawnienia na poziomie funkcji wykonującej właściwe działanie, nie polegaj tylko na dostępności pozycji w menu.

0
Visible

lub też Enabled

 ma być dostępne jeśli do modułu będą uprawnienia "Przegladanie".
Oczywiście zamierzam sprawdzać uprawnienia na poziomie funkcji wykonującej dodawanie, usuwanie lub zmianę rekordów - do tego chcę wykorzystać uprawnienia w kolumn "Dodawanie", "Zmiana" oraz "Usuwanie". Pytanie - jak zrealizować sterowanie "Visible/Enabled" w prosty sposób żeby za każdym razem nie zmieniać kodu jak dodam nowy moduł ?? W innym poście pisałem o pobieraniu danych o menu z bazy - chciałbym to połączyć na zasadzie żeby opisy menu były w bazie i z niej pobierane, będą one miały swoje ID i na tym poziomie można by to połączyć. W tym momencie tworząc nowy moduł dodawałbym do menu tylko jego ID a reszta odbywała by się na poziomie bazy.
0

ma być dostępne jeśli do modułu będą uprawnienia "Przegladanie".
Nie myl pojęć wprowadzanych przez twój program z funkcjami wbudowanymi w użyty do programowania język/bibliotekę.

jak zrealizować sterowanie "Visible/Enabled" w prosty sposób żeby za każdym razem nie zmieniać kodu jak dodam nowy moduł
Informacje o uprawnieniach powinien zawierać moduł.

0
Azarien napisał(a):

Nie myl pojęć wprowadzanych przez twój program z funkcjami wbudowanymi w użyty do programowania język/bibliotekę.

Nie bardzo rozumiem?? Napisałem wyraźnie że w tabeli uprawnień jest kolumna "Przegladanie" i jeśli jej wartość jest 1 to menu które powoduje otwarcie odpowiedniego form (modułu mojej aplikacji) ma być "Visible" a jeśli jest 0 to nie. Gdzie tutaj coś mylę bo nie bardzo wiem o co Ci chodzi ?

Informacje o uprawnieniach powinien zawierać moduł.

O uprawnieniach na zasadzie "dodawanie/usuwanie/zmiana" ale samo menu jest "tworzone" w głównym Form i wydaje mi się że podczas jego ładowania powinny być sprawdzone uprawnienia i na ich podstawie zbudowane menu a mi cały czas chodzi o budowanie menu głównego aplikacji w którym będą podpięte odpowiednie moduły.

0

Gdzie tutaj coś mylę bo nie bardzo wiem o co Ci chodzi ?

O to: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.visible.aspx

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