Ovvero, come gestire la poligamia con FileMaker.

 Non esiste macchina così perfetta con cui un imbecille non possa fare danni.

Confucio apocrifo rivisto da Murphy

 

La fantasia umana non ha limiti, si sa, ma che questa si scateni in modo particolare davanti ad un computer non è un fatto così risaputo. Credetemi: è assolutamente vero.

Perché dico questo? Provate a chiederlo a chi almeno una volta ha sviluppato un database per conto terzi, un amico o un cliente che sia. Non c’è niente da fare: per quanto ci si impegni a limitare il campo d’azione del nostro utente, questo scoverà sempre un modo per minare l'architettura del nostro bel castello.

Ecco allora l’importanza di limitare con attenzione privilegi, menù e settaggi delle impostazioni utente.

Qui di seguito riporterò una serie di suggerimenti per rendere la vostra applicazione a prova di... "utente poco esperto". In questo articolo utilizzerò la tecnica della allegoria dantesca: cioè spiegare un concetto richiamando un'immagine o un diverso contesto.

Partiamo da una situazione molto semplice.

Immaginiamo che il vostro database sia la vostra casa: le stanze sono le vostre tabelle, i mobili (armadi, credenze e cassettiere) sono i vostri campi, il contenuto dei mobili sono i vostri record.

Voi siete i proprietari di casa, e durante il giorno suona alla porta una serie di persone che vogliono entrare: figli, ospiti, manutentori, seccatori, mogli (più di una se qualcuno vuol farsi del male), amanti (anche qui si rischia di farsi molto male), etc. Per ognuna di queste persone, voi sapete bene cosa possono o non possono fare a casa vostra, se possono lasciare tracce o se devono invece essere tracciati.

Quali sono le precauzioni per evitare guai o azioni non desiderate?

Ecco, questa situazione sarà il leitmotiv di questo articolo: ogni passaggio che andremo ad esaminare avrà un richiamo alla situazione sopra citata. Tutto chiaro?

Cominciamo chiarendoci le idee su alcune terminologie che vengono spesso (ab)usate in questo campo.

Toc toc: chi è?

L’account (termine ormai entrato di routine nel linguaggio informatico) è colui che suona il campanello, colui che vuole entrare in casa

Quando suona il citofono di casa di solito chiediamo: chi è? Così nei DB: quando qualcuno vuole entrare (aprire il DB) dobbiamo dire: chi sei? Dammi nome (Nome utente) e parola d’ordine (Password)!

Se sei tra quelli desiderati ti apro la porta (DB), altrimenti resti fuori.

Attenzione a stendere con cura la lista di chi volete far entrare: se fate una lista troppo sintetica (ad esempio una suddivisione tipo Conoscenti e Manutentori, nel nostro DB Operatore e Amministratore) correte il rischio di ritrovarvi in casa un bicchiere rotto (o peggio ancora, un indumento di biancheria intima) senza riuscire più a risalire al colpevole.

Pertanto, se fate una lista specifica di persone che possono entrare (Pietro, Barbara, Ilaria, Silvio, Sonia, ospite) potete tenere d'occhio cosa combinano, in barba alla privacy,  grazie al comando Get ( NomeAccount ).

Posso usare il bagno? Dipende.

Il set dei privilegi è praticamente l’insieme di azioni che ogni persona (utente) che è entrato nella nostra casa (DB) può compiere. Esempio: l’ospite potrà solo sedersi sul divano e  guardarsi in giro ma non potrà toccare nulla, l’elettricista potrà mettere mano agli impianti di casa ma non potrà aprire i cassetti della cucina, moglie e figli potranno andare a zonzo dove vogliono senza usare attrezzi strani come martello, cacciavite, trapano, etc.

Tenete presente che un determinato set di privilegi può essere usato per più utenti (esempio: figlio 1, figlio 2 e figlio 3 possono fare le stesse cose). Cercate di evitare (è un’inutile perdita di tempo) di creare per ogni utente uno specifico set di privilegi, se quest’ultimo di fatto si ripete in ugual maniera su più utenti.

Cortesie per gli ospiti...

Il menù è l’elenco delle azioni (elenco comandi) che posso essere fatte in casa: quelle operazioni che la persona può compiere risultano attive, quelle che sono vietate risultano disattivate (in grigio corsivo). Per una questione di eleganza è bene far apparire ad ogni persona in casa (utente) solo le azioni che può compiere. Per questo è opportuno creare menu personalizzati per ogni set di privilegi, o meglio ancora togliere il menù e mettere specifici pulsanti di navigazione, come vedremo più avanti.

 01

...Ma non ci allarghiamo.

La barra degli strumenti è posta sotto i menù e rappresenta una sorta di telecomando con le operazioni più comuni e di maggior uso. Il telecomando è comodo, ma attenzione a non lasciarlo in giro per casa: potrebbe essere trovato da persone che non devono usarlo…

Il mio consiglio è: la barra degli strumenti tenetevela solo voi amministratori che create e gestite la struttura del DB. Come cantava il mitico Renzo Arbore a Quelli della notte: "Tu nella vita comandi fino a quando/hai stretto in mano il tuo telecomando…

 02

Privacy, please.

I formati sono le pareti delle vostre stanze: una parete (formato) può appartenere solo ad una stanza (tabella), una stanza (tabella) può avere più pareti (più formati), ad ogni parete possiamo appoggiare qualsiasi arredo (campo) della stanza (della tabella). Non solo: nella nostra parete possiamo anche pensare di fare porte o finestre con cui vedere e/o raggiungere arredi (campi) di un’altra stanza (di un’altra tabella).

Solo alcuni possono e/o devono vedere le nostre pareti: ci sono pareti di servizio (dove ad esempio c’è il banco attrezzi) o pareti che per qualche motivo vogliamo che siano off limits ad una persona piuttosto che ad un’altra.

Se lasciamo in giro il telecomando (barra degli strumenti) rischiamo che chiunque sia entrato in casa possa liberamente andare in giro per casa e arrivare a tutte le pareti (tutti i formati) semplicemente cliccando sul menù a tendina Formato.

 03

Chiusa la parte del glossario, andiamo ora a vedere come rendere sicura la nostra applicazione, ovvero come vivere e far vivere felicemente tutti quanti, noi per primi, nella nostra bella casetta.

Cominciamo dal “chi è che suona il campanello”?

Primo passo: creazione dell'account

A questo punto dovete creare gli account, ovvero l’elenco delle persone abilitate ad entrare nel DB. Per fare questo occorre andare in File – Gestisci – Sicurezza, cliccare su Nuovo e creare tutti gli utenti che volete fare entrare e/o monitorare.

04 

NB: per ogni utente dovete prevedere nome account e password, e soprattutto assegnare ad ognuno un proprio set di privilegi (cosa può fare). Cliccando su Nuovo set di privilegi appare la finestra con cui si definisce cosa un utente può fare e cosa non può fare:

05 

A questo punto, dopo aver creato i nostri utenti ed aver deselezionato l'accesso automatico standard con l’utente Admin nel pannello accessibile dal menù File>Opzioni File abbiamo ottenuto un primo risultato: ad ogni apertura del DB il nostro FileMaker ci chiede: chi sei?

06

Quanto fatto fino ad ora però non è sufficiente a farci sentire completamente tranquilli.

Anche se colui che entra in casa è tra quelli presenti nella lista e ha un elenco definito di cosa può fare o non fare (set di privilegi), ha comunque a disposizione una serie di strumenti che potrebbe utilizzare in maniera impropria (telecomando, porte per entrare nelle varie stanze, etc).

Come limitare i possibili danni e garantire a tutti una serena convivenza? Lo scopriremo in dettaglio nella seconda parte dell'articolo, dedicato a come mettere in sicurezza la nostra bella casetta: Come gestire le credenziali di sicurezza in FileMaker - Seconda parte

Troppi ospiti indesiderati nel tuo database? Chiedi un parere ai nostri Guru, e condividi le tue soluzioni su Guru Corner!

1 commento

  1. Se ho 200 utenti che hanno le stesse limitazioni di accesso, devo creare 200 account, oppure c'è un modo più sbrigativo (ad esempio una tabella utenti) per assegnare il set di privilegi?

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here