USER02 - Archivi di Base > Gestione Utenti e Profili

Per impostazioni predefinita Gea.Net non ha alcun utente impostato e questo rende molto più semplice la gestione (non si devono ricordare password o comunque non si devono digitare ad ogni accesso, si può eseguire qualsiasi operazione). Questo piccolo vantaggio si trasforma in un notevole disagio dal momento in cui a lavorare sui dati sono due o più persone, e comunque è sconsigliato perchè costringerebbe ad adottare misure differenti per ottemperare agli obblighi imposti dal Testo Unico sulla Privacy (legge 196/2003).   Quindi è bene censire correttamente gli utenti. 

Gestire gli utenti significa identificare ogni operatore con uno specifico UserID e relativa Password.  

Autenticazione

Per rendere maggiormente sicuro ed agevole la gestione utenti si consiglia di utilizzare l’autenticazione di Windows. Questo comporta che l’utente viene identificato da Active Directory al momento in cui si connette a Windows e non sarà più necessario richiederne la password.

Anche se decidete di non utilizzare l’autenticazione Windows potete definire gli utenti con i nomi associati ai computer che utilizzano Gea.Net. Oltre ad essere un metodo per semplificare concettualmente la gestione, se Gea.Net trova almeno un utente inserito, aggancia in modo automatico il nome dell’utente Windows al nome dell’utente Gea.Net e se non trova corrispondenza riporta il messaggio “utente non riconosciuto. Questa soluzione vi consente di non dovere digitare tutte le volte la password quando l’utente Gea.Net ha lo stesso nome di quello Windows mentre potete utilizzare Gea.Net come altro utente anche senza disconnettervi.

Se invece si preferisce creare nomi utenti in Gea.Net diversi dal nome utente in Windows, ad ogni avvio di Gea.Net sarà notificato che l’utente non è riconosciuto e necessariamente deve essere inserito nome utente e password.

Permessi

Le operazioni consentite all’utente sono riconosciute da un profilo. L’impostazione base prevede almeno tre profili :

Queste tre figure non sono modificabili ed agiscono con tutti i poteri che gli sono permessi su tutta l’applicazione. Pur essendo già un buon livello di distinzione dei ruoli, diventa maggiormente scalabile dal momento che l’amministratore definisce altri profili definendo funzione per funzione il diritto di accesso e di scrittura. La definizione dei profili avviene dalla voce ‘Funzioni’ presente sulla barra comandi.

Il profilo serve ad esempio ad identificare a quali funzioni si può accedere, se sono visibili i prezzi di vendita, ecc.   

Sigla Utente

Per ogni utente è possibile definire anche una sigla (2 caratteri) che serve a marcare l’attività svolta. Questa sigla verrà legata al documento o più in generale alle registrazioni fatte sul database e risulterà visibile al solo amministratore. La sigla non deve necessariamente identificare un operatore ma può essere utilizzata anche per riconoscere un gruppo (più utenti hanno la stessa sigla, insomma deve essere uno strumento che serve all’attività aziendale senza creare malcontenti o paure negli addetti. 

 

 
Una volta inseriti tutti i nostri utenti all’apertura, l’applicazione cercherà di identificare l’utente in base al nome con cui l’operatore si è fatto riconoscere da Active Directory.

Gestione Profili
 

Prima di iniziare a gestire i profili è bene sapere che la gestione a dei permessi a livello di applicazione invece su database è come chiudere bene le finestre e lasciare aperta la porta.

Ricordiamo sempre che i nostri dati risiedono su database e che l’operatore un minimo smaliziato, anche qualora decidessimo di non mostrargli parte dell’applicazione, avrà sempre la possibilità di accedere direttamente alla base dati e carpirci informazioni riservate. Pertanto è sempre da preferire la gestione dei permessi e delle autorizzazioni su database ed usare la gestione profili di Gea.Net solo come strumento aggiuntivo. Al capitolo 1 trovate una breve spiegazione su come gestire i permessi e le autorizzazioni in SQL Server. Tutorial più approfonditi sull’argomento, anche relativi agli altri database, sono disponibili in rete o consultando i relativi manuali d’uso.

 

Con la gestione profili di Gea.Net è possibile rendere più granulare la gestione dei permessi utenti. Per impostazione predefinita i profili ADMIN, USER e GUEST hanno i permessi visti al paragrafo precedente. Ogni profilo differente e definito dall’amministratore, non ha alcun permesso per impostazione predefinita.

Naturalmente è possibile dare permessi differenti agendo su “Gestione Profili” dal menu “Funzioni”.

La tabella “profili accesso funzioni” consente di trattare ogni singola funzione inserendo :

 

Nota Bene : E’ possibile definire blocchi di form definendo l’autorizzazione su una singola riga. I gruppi vengono individuati per convenzione nei primi 4 caratteri del nome della form (seguiti da asterisco) che identificano a grandi linee i moduli di appartenenza della form stessa. Ad esempio MAGA* identifica le autorizzazioni di tutte la form del modulo magazzino (es. MAGA01, MAGA11, MAGA14, ecc.). Nel caso sia definita sia una riga funzione [gruppo]* che una riga funzione [nomeform] la seconda avrà priorità sulla prima. 

Ad esempio :

Profilo

Progr.

Nome Form

Lettura

Scrittura

Log

Operatività

GUEST

1

MAGA01_WPF

SI

SI

SI

Rende possibile modificare la scheda articoli di magazzino

GUEST

1

MAGA*

NO

NO

SI

(Ver. 3.3 e successive) Blocca l’accesso a qualunque funzione del magazzino ad eccezione di MAGA01 come da definizione dalla riga precedente.

MAGAZ

1

MAGA14_WPF

SI

SI

SI

Rende possibile eseguire la funzione di “Produzione”. Gli utenti con Profilo MAGAZ non hanno alcun altro permesso.

CONT

1

CONT02_WPF

SI

SI

SI

Rende possibile inserire e gestire movimenti di Prima Nota

CONT

2

FORN01_WPF

SI

SI

SI

Rende possibile inserire le fatture passive

 

Con la gestione profili è anche possibile rendere visibili/nascosti i prezzi di vendita.

Ad esempio possiamo definire che GUEST e/o USER non hanno visibilità del listino mentre ADMIN si. I documenti inseriti da GUEST e/o USER ereditano i prezzi dal listino ma gli utenti non potranno vederli e di conseguenza modificarli.

 

Utenti Esterni e Gea.Net DbService 

Gea.Net dispone  di diverse soluzioni che consentono la gestione da remoto in sola lettura o in lettura/scrittura. Tra le diverse soluzioni disponibili troviamo GeaNet Web, Gea.Net App per WindowsPhone e per Android o soluzioni personalizzate. Tutte queste soluzioni possono operare depositando il database e un apposito WebService (DbService.asmx) su un server visibile da Internet. Di seguito per comodità chiameremo questo servizio Gea.Net DBService senza menzionare tutte le volte che esso fa riferimento a molteplici soluzioni. 

Pur non essendo lo scopo di questo capitolo si ricorda che è possibile configurare il database affinchè sia possibile accedervi direttamente da Gea.Net Web senza dover utilizzare Gea.Net DbService. Le App invece possono accedere ai dati solo attraverso Gea.Net DbService. 

Attraverso una particolare configurazione della ConnectionString, anche a Gea.Net è consentito di accedere al database centralizzato nello stesso modo in cui operano le altre soluzioni e servizi remoti (Web e App).  

Connessione al database attraverso Gea.Net DbService

L’accesso da Gea.Net Web a DbService è molto semplice. Occorre indicare la stringa nel campo Database nel formato : [nomeservizio]\[nomedatabase] (esempio 'www.geanetweb.com\MIODB') 

 a sua volta il servizio conterrà uno o più file di configurazione con nome CONFIG_[nomedatabase].XML all’interno del quale sarà presente un nodo contenente la connectionString con le password di accesso al database.  

In Gea.Net invece deve essere la connectionString simile a quella seguente : 

WS;SERVICE=http://www.geanetweb.com/dbservice.asmx; TIPODB=S;NOMEDB=MIODB;USER=ADMIN;PASSWORD=ADMIN; 

In entrambi i casi le password di accesso al database risultano invisibili all’utente perché conosciute solo da Gea.Net DbService e le richieste trattate con sistemi di crittografia solo se filtrate dal servizio stesso. 

Scavalcare Gea.Net DbService

In alternativa se i servizi di accesso al database fossero resi anche all’esterno ( quindi con la possibilità di scavalcare Gea.Net DbService ) in Gea.Net Web potrebbe essere inserito "LOCAL" salvo poi gestirne la connectionString in Gea.Net Web. Allo stesso modo potremmo agire in Gea.Net inserendo la connectionString facente riferimento ad un database remoto esattamente come se fosse su rete locale. 

Attenzione,  se si usa Gea.Net per ragioni di sicurezza anche se funzionante è estremamente sconsigliata la gestione di un utente con permessi limitati indicando nella ConnectionString i dati di accesso al database stesso come previsto con altre modalità diverse da GN DbService. Infatti in questo modo sarebbe piuttosto semplice per l’utente accedere al database in modo diretto o con altro strumento diverso da Gea.Net. 

Utenti Servizio Gea.Net DbService 

Il servizio Gea.Net DbService consente di accedere da remoto al database aziendale attraverso gli utenti catalogati nella tabella WWW_UTENTE del database. Questa tabella serve solo per identificare quelli che sono da considerare utenti esterni all’azienda o stakeholder (clienti, fornitori, agenti). Queste figure avranno una visione molto limitata del gestionale. Tutte le altre figure (interni) sono identificati nella tabella WWW_UTENTE come amministratori.

Dunque la tabella WWW_UTENTE contiene sia utenti Amministratori che altre categorie (CUSTOMER, SELLER) . 

Nella configurazione di accesso al database attraverso GN DbService, si utilizza la tabella degli utenti globali (WWW_UTENTE) che si sovrappone a quella degli utenti locali (AN_UTENTE). Gli utenti globali devono essere identificati affinchè se riconosciuti possano comunicare con il servizio web GN DbService che permette la lettura/scrittura sul database fisico dei soli dati di competenza.

In questo contesto la tabella AN_UTENTE riveste una importanza secondaria e deve essere gestita solo se si vuole gestire i permessi di accesso , lettura e scrittura alle singole funzioni, nel caso di utenti esterni e non Amministratori limitati al solo modulo Stakeholder. 

Utente ‘ADMIN’

Durante la configurazione iniziale del database viene creato l’amministratore ‘ADMIN’. Alcune funzioni come la gestione degli utenti e dei profili utente, sono consentito solo all'utente con codice 'ADMIN' che di fatto è un superAmministratore.
L'utente 'ADMIN' viene inserito durante la fase di configurazione iniziale e ad esso viene assegnata una password casuale comunicata all'azienda nella fase di startup.
'ADMIN' non può essere eliminato ma è consentito il cambio della password. Tuttavia per ragioni di sicurezza non può essere richiesta la password dell'utente 'ADMIN' nel caso fosse stata dimenticata
.   

Gestione delle tabelle Utenti da Gea.Net Web 

In Gea.Net Web la gestione delle due tabelle è completamente trasparente. La loro gestione compete al solo ‘superamministratore’ AMIN che attraverso la ‘gestione Utenti’ implementerà contemporaneamente entrambe le tabelle.  

Da Archivi di base à Utenti

 

Accedendo alla scheda del cliente, del fornitore o dell’agente avrà la possibilità di autorizzarne l’accesso all’esterno con funzioni limitate.

Per convenzione il codice dell'Utente sulla tabella WWW_UTENTE corrispondere con il Codice Anagrafico (Cliente, Fornitore, Agente) altrimenti non potrebbero essere collegati i documenti di competenza.

Gestione delle tabelle Utenti da Gea.Net 

La gestione degli utenti in Gea.Net il più delle volte è limitata alla gestione degli utenti locali (AN_UTENTE) e solo qualora si utilizzi un database remoto attraverso Gea.Net DbService occorre gestire la tabella WWW_UTENTE. 

Gli utenti Amministratori hanno completo accesso a tutte le funzioni di Gea.Net e tra queste la gestitone degli stessi utenti globali che avviene da “Gestione Tabelle”, Tabella “Utenti Servizio GN DbService”. Tutti gli altri utenti saranno trattati come esterni e come tali avranno l’accesso alle sole funzionalità dedicate agli stakeholder. 

Gli utenti pertanto  possono essere diversi da quelli configurati per Gea.Net e soprattutto l’accesso può essere esteso anche a clienti e commerciali che devono vedere solo le informazioni di loro competenza. 

Da Archivi di base à Gestione Tabelle à Utenti Servizio Gea.Net DB Service

 

Il Profilo utente può assumere i valori

Accesso da parte di Stakeholder Esterni

Per Stakeholder Esterni (portatori di interesse) si intendono agenti, clienti, fornitori o altri soggetti esterni all’azienda e che collaborano con essa per trarne vantaggi economici o di diversa natura. 

La gestione di un modulo separato dedicato agli Stakeholder permette a questi di operare da remoto consultando e in alcuni casi modificando i dati di loro competenza. Questa gestione è nata specificatamente per Gea.Net Web ma può essere integrata con altri prodotti come Gea.Net App o Gea.Net. In particolare Gea.Net ha un modulo simile alla versione web che può essere ridistribuito agli stakeholder. 

A differenza degli altri moduli che sono gestibili sia con database condiviso su rete locale (Intranet) che su rete globale (Internet), la gestione da parte degli Stakeholder ha un senso pratico solo se il database risiede su un database raggiungibile dall’esterno (Internet) attraverso servizio web GN DbService o attraverso la pubblicazione di Gea.Net Web. 

Per questa gestione GN DbService deve essere correttamente installata e configurata sul server che eroga il servizio e la ConnectionString di Gea.Net come visto in precedenza. 

Funzioni comprese nel modulo Stakeholder

Per sua natura il modulo Stakeholder deve rendere visibile a soggetti esterni solo una quantità minima di dati di loro competenza e soprattutto non deve consentire operazioni non autorizzate.

Anche per prevenire eventuali problemi legati alla configurazione non corretta dei permessi utenti esterni che potrebbe creare gravi problemi di riservatezza, il modulo Stakeholder contiene solo funzioni dedicate o funzioni limitate di quelle presenti in altri moduli. Pur avendone accesso, gli utenti amministratori non dovrebbero usare queste funzioni ma quelle più ricche di funzioni. 

2.4.2.2.1 – Distribuire Gea.Net a Stakeholder Esterni (SCONSIGLIATO) 

Solo se si è scelto di non utilizzare Gea.Net Web ma ridistribuire Gea.Net agli stakeholder leggere le note seguenti. 

Occorre precisare che possono esserci figure esterne o che agiscono dall’esterno che devono poter accedere alla totalità delle informazioni. Si tratta di commercialisti, consulenti ma anche personale che opera da sedi remote che non hanno collegamento diretto via VPN (filiali, abitazioni, mobilità attraverso chiavette USB). Tutte le figure che non hanno particolari vincoli di segretezza sono da definire con privilegi di Amministratore.  

Da Archivi di base à Gestione Tabelle à Utenti Servizio Gea.Net DB Service

 

Da questa finestra è possibile creare il file Config.XML e i file di configurazione delle stampe da distribuire allo stakeholder assieme all’applicazione Gea.Net

La cartella DATI che verrà creata dovrà essere copiata nella cartella GeaNet\bin (contenente solo il modulo STAKEHOLDER ) dell’utente remoto . 

Come distribuire l’applicazione Gea.Net agli Utenti

La distribuzione agli utenti può avvenire attraverso il rilascio di una versione ridotta (consigliato) che non contiene tutti i moduli (AIM*.DLL) ma il solo modulo STAKEHOLDER.DLL oppure rilasciando la versione completa di Gea.Net.

Se si rilascia l’installazione ridotta si deve copiare la cartella DATI con quella generata dall’amministratore attraverso la funzione disponibile in “Gestione Tabelle”,  “Utenti Servizio GN DbService”.

Se viene distribuita la funzione completa, Gea.Net è utilizzabile anche come gestionale autonomo e la cartella DATI può essere sostituita ( o integrata ) con quella creata dall’Amministratore.