Weryfikacja uprawnień

Autentykacja użytkownika

Do uwierzytelniania użytkowników POS służy serwis ISecurityService. Zawiera on metody pozwalające zarówno zalogować użytkownika do systemu, wylogować go, jak również zablokować ekran oraz zweryfikować czy użytkownik posiada wymagane uprawnienia.

Metody serwisu ISecurityService:

  • SignIn(string login, SecureString password)
    Metoda pozwala zalogować użytkownika do systemu.
  • SignOut()
    Metoda wylogowująca użytkownika. W efekcie czego zostaną zamknięte wszystkie otwarte wcześniej widoki i zostaniemy przeniesieni do widoku logowania.
  • Lock()
    Metoda blokująca ekran. W wyniku jej wywołania zostanie otwarty widok logowania i nie będzie możliwe przejście do innych otwartych widoków do czasu potwierdzenia swojej tożsamości przez użytkownika poprzez wprowadzenie hasła.

Autoryzacja użytkownika

W POS każdy zalogowany użytkownik może lub nie posiadać uprawniania do zdefiniowanych odgórnie miejsc w aplikacji. Definiowanie uprawnień odbywa się w systemie ERP, poprzez odpowiednie przypisanie grupie użytkowników uprawnień do akcji i obiektów biznesowych. W celu weryfikacji czy zalogowany użytkownik posiada odpowiednie prawa należy skorzystać z serwisu IAuthorizationService i znajdującej się tam metody ValidatePermissions lub będąc w klasie viewmodelu użycie bezpośrednio wywołania metody rozszerzającej o tej samej nazwie. Wywołanie metody spowoduje sprawdzenia uprawnień, jeżeli weryfikacja nie powiedzie się, zostanie otwarty widok modalny z możliwością wskazania użytkownika, dla którego ponownie przeprowadzimy proces weryfikacji (pod warunkiem wprowadzenie jego loginu i zgodnego hasła). Taki zabieg nie spowoduje przelogowania na wskazanego użytkownika, lecz tylko przejście przez dany etap weryfikacji uprawnień.
Parametry metody:

  • accessDeniedMessage (string) – tekst jaki ma się pojawić, jeżeli użytkownik nie posiada weryfikowanych uprawnień,
  • autorization (IAuthorization) – uprawnienie jakie chcemy sprawdzić,
  • successAction (Action) – akcja jaka ma nastąpić jeżeli weryfikacja uprawnień przebiegnie pomyślnie,
  • cancelAction (Action) – opcjonalna akcja jaka ma nastąpić, gdy użytkownik anuluje możliwość podniesienia uprawnień poprzez zalogowanie się na inne konto na czas weryfikacji uprawnień,
  • login (string) (domyślnie: null) – opcjonalny login użytkownika dla jakiego będą weryfikowane uprawnienia,
  • password (SecureString) (domyślnie: null) – hasło użytkownika dla jakiego będą weryfikowane uprawnienia (wymagane jeżeli wprowadzimy login)
  • logByCard (bool) (domyślnie: false) określa czy użytkownik zalogował się poprzez kartę magnetyczną

Przykład.

Sprawdzamy czy zalogowany użytkownik posiada uprawnienie do dodawania paragonu:

this.ValidatePermissions("Brak uprawnień do tworzenia paragonu", Authorization.Check.To(PermissionName.Receipt).WithLevels(PermissionLevel.Add),
                () =>
                {
                    NotificationService.Show("Uprawnienie pomyślnie zweryfikowane", NotifyIcon.Information);
                });

Czy ten artykuł był pomocny?