Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VB.NET Menu- poziom uprawnień w zależności od zalogowanej osoby

3maniac3 10 Kwi 2016 19:50 549 5
  • #1 10 Kwi 2016 19:50
    3maniac3
    Poziom 8  

    Witam,

    Jak zrobić by po zalogowaniu do aplikacji jakiejś osoby, miała różne (ograniczone/ rozszerzone) menu.
    Np. Loguje się osoba o loginie Pawel, po zalogowaniu do aplikacji ma ograniczenia, widzi w menu tylko formularz 1 i 2.
    Następnie loguje sie administrator i ma dostęp do wszystkich pozycji np. 1, 2, 3, 4, 5.
    Jeżeli to istotne to chciałbym skorzystać z SqlServer-a.
    Proszę o podpowiedź jak to zrobić?

    0 5
  • #2 10 Kwi 2016 20:30
    marcinj12
    Poziom 40  

    Winformsy czy ASP.NET ?

    0
  • #3 10 Kwi 2016 22:31
    3maniac3
    Poziom 8  

    Windows Form.

    0
  • #4 10 Kwi 2016 22:50
    marcinj12
    Poziom 40  

    Nie piszesz o jakim menu mowa ani jak zaprojektowałeś swoją aplikację...
    W każdym razie najlepiej chyba coś samemu wymyślić.

    Ja to robię zwykle w ten sposób: tworzę typ wyliczeniowy enum, w którym umieszczam role (Administrator, Uzytkownik etc.) bądź zakładki (opcje menu), do których użytkownik ma mieć dostęp - zależy, jak szczegółowo chcesz organizować zabezpieczenia.

    Do bazy danych, w tabeli użytkowników, dołączam jedną kolumnę na te uprawnienia - możesz relacyjnie z inną tabelę albo po prostu dodatkowe pole. Zapisuję zwyczajnie nazwę typu: <enum>.ToString(), jeżeli pole jest jedno, złączam je np. znakiem |
    Odczytując z bazy: odwrotnie, najpierw robię Split("|"), potem parsuję każdą rolę enum.TryParse(..) i zapisuję ją na listę.

    Mając odczytaną listę uprawnień, pętlą for w Form_Load czy zaraz po zalogowaniu się usuwam lub wyłączam (lub włączam) odpowiednie pozycje menu / zakładki.

    0
  • #5 11 Kwi 2016 20:15
    3maniac3
    Poziom 8  

    Chodzi mi o menu z controlki menustrip, z takiego do tej pory korzystałem.
    Właśnie chciałbym stworzyć taką aplikację.

    Wyobrażam to sobie w ten sposób:
    Główny formularz z menu.
    Z tego menu (menustrip) odnoszę się do kolejnych formularzy projektu.
    Nie wszystkie formularze chce pokazywać, w zależności od tego kto się zaloguje.
    Formularz z logowaniem widzę podobnie do tego:

    Link
    tyle, że dodam kolumnę z uprawnieniem do user i zapamiętam wartość z tego rekordu.

    dalej nie wiem, dlatego pytam.

    To co Pan opisał brzmi sensownie. Może jako przykład poda Pan kawałek kodu dla pełnego zrozumienia.

    0
  • #6 11 Kwi 2016 20:55
    marcinj12
    Poziom 40  

    Zakładając, że masz takie menu:

    Formularze
    - Formularz1
    - Formularz2
    - Formularz3

    to coś w ten deseń:

    Kod: csharp
    Zaloguj się, aby zobaczyć kod

    0