Contenuti
Autenticazione dell’utente
Per l’autenticazione degli utenti POS viene utilizzato il servizio ISecurityService. Questo servizio contiene i metodi che consentono sia di connettere l’utente al sistema, disconnetterlo che bloccare lo schermo e verificare che l’utente sia in possesso delle autorizzazioni richieste.
Metodi del servizio ISecurityService:
- SignIn(string login, SecureString password)
Il metodo consente di connettere l’utente al sistema. - SignOut()
Il metodo disconnette l’utente. In conseguenza vengono chiuse tutte le viste precedentemente aperte e l’utente viene spostato alla vista di accesso. - Lock()
Il metodo blocca lo schermo. Dopo la chiamata di questo metodo viene aperta la vista di a accesso e non sarà possibile passare ad altre viste aperte finché non verrà confermata la sua identità tramite l’inserzione della password.
Autorizzazione dell’utente
In POS, ogni utente connesso può possedere o non possedere autorizzazioni ai luoghi dell’applicazione predefiniti. Le autorizzazioni vengono definite nel sistema ERP tramite l’assegnazione al gruppo di utente delle autorizzazioni alle azioni e agli oggetti business. Per controllare se l’utente connesso possiede autorizzazioni adeguate bisogna utilizzare il servizio IAuthorizationService e il suo metodo ValidatePermissions o, essendo nella classe di viewmodel, utilizzare direttamente la chiamata del metodo estendente con lo stesso nome. La chiamata di questo metodo causerà la verifica delle autorizzazioni. Se la verifica non sarà riuscita, verrà aperta la vista modale con la possibilità di indicare l’utente per cui il processo della verifica verrà eseguito ancora una volta (a patto che sia stato inserito il suo nome utente e la password adeguata). Tale processo non causa l’effettuazione di accesso sull’utente indicato ma soltanto il passaggio attraverso una tappa di verifica delle autorizzazioni.
Parametri del metodo:
- accessDeniedMessage(string): testo che deve apparire quando l’utente non possiede le autorizzazioni verificate,
- autorization (IAuthorization): autorizzazione da verificare,
- successAction (Action): azione che deve essere eseguita dopo la riuscita della verifica,
- cancelAction (Action): azione opzionale che deve essere eseguita quando l’utente annullerà la possibilità di aumentare la autorizzazioni tramite l’accesso a un altro account per la durata della verifica delle autorizzazioni.
- login (string) (per impostazione predefinita: null): nome utente opzionale dell’utente per cui verranno verificate le autorizzazioni,
- password (SecureString) (per impostazione predefinita: null): password opzionale dell’utente per cui verranno verificate le autorizzazioni (obbligatoria se viene inserito il nome utente)
- logByCard (bool) (per impostazione predefinita: false): specifica se l’utente ha effettuato l’accesso tramite la scheda magnetica
Esempio
Controlliamo se l’utente connesso possiede le autorizzazioni ad aggiungere lo scontrino:
this.ValidatePermissions(“Mancanza di autorizzazioni per creare lo scontrino", Authorization.Check.To(PermissionName.Receipt).WithLevels(PermissionLevel.Add), () => { NotificationService.Show(“Autorizzazione verificata con successo", NotifyIcon.Information); });