• Babele dei diritti utente: Parte 1

    vBulletin è nato con semplicità in mente, ma nella sua evoluzione ha subito alcune aggiunte che hanno sconvolto questo concetto fino all'inverosimile. Oggi, per impostare un diritto di utente possiamo scegliere fra diritti relativi al singolo utente, di gruppo, di gruppo aggiuntivo, di sezione (1) e ancora di sezione (2), di sottoscrizione pagata, di blog e di cms. Quasi ognuno di questi diritti può essere inverso o ridotto, tramite diritti di gruppo penalizzanti, e tramite plugin si può infine modificare e scombussolare l'insieme matematico in modo totalmente al di fuori di ogni logica.


    Come in tutti gli ambienti di sicurezza è necessario determinare il livello di sicurezza finale ed evitare a qualunque costo le eccezioni, le prove e mancati controlli degli amministratori apprendisti. vBulletin ha sì una marea di possibilità per definire le regole di accesso, ma fondamentalmente si devono utilizzare soltanto tre, e derivare le altre regole da queste basi.

    All'inizio fu l'amministratore, che non dovrebbe coprire altri ruoli che essere prima e ultima istanza di qualunque problema. Assieme a lui si troveranno utenti con simili poteri nel database, denominati secondo i più segreti desideri di ogni nuovo utente, giusto per evitare il furto di identità. Così non è da meravigliarsi di trovare Admin, Administrator, Amministratore, Staff tutto uno, seguito da Super-Moderator, Super-Moderatore, e così via, una buona decina di utenti inizialmente tutti a servizio di uno solo.

    Come si nota, sette sono i gruppi utenti predefiniti, già molto bene configurati, ma di solito si cambiano i permessi almeno una volta per vedere cosa fanno e poi si dimentica rimetterli come erano prima. Poiché non funzionano più come si pensava, si creano nuovi gruppi e si spostano gli utenti nella speranza di risolvere i problemi, ma al contrario, aumentano. Come se non bastasse, spesso si è convinti che si potrà fare a meno degli utenti esclusi, e si cancella l'unico gruppo "libero" con l'ID 8. Molto più tardi si scopre che è un gruppo indispensabile e per una logica che ci sfugge del tutto, è permesso di eliminarlo.

    Dopo questa mastodontica introduzione, cercherò di sintetizzare un po'.

    In ogni forum ci sono utenti che sono quello che sono e non cambiano mai, se non per natura di un evento programmato. Gli amministratori sono e restano amministratori. Almeno il primissimo utente. Tutti questi utenti che restano quello che sono e non cambiano mai, appartengono al gruppo utenti primario. E' compito del gruppo di determinare cosa possono fare. Non si devono introdurre amministratori di prima e di seconda classe. Perché ci sono già. Nel file config.php possiamo definire alcuni utenti, top del top con superpermessi e superdiritti in testa a tutti.

    In linea gerarchica scendono poi gli aiutanti dell'amministratore in campo, dove i moderatori fissi non sono altri che collaboratori molto fidati. Altrimenti sono semplicemente utenti registrati con il diritto aggiuntivo di moderare. In altre parole, esistono soltanto utenti amministratori e utenti registrati perfino nei forum più grandi.

    Con questa riduzione la gestione dei diritti degli utenti si semplifica estremamente. Nessuno, se non i più fidati, ha per sempre diritti speciali.

    Vediamo un attimo le promozioni e infrazioni, le quali servono per spostare gli utenti da una parte all'altra o per aggiungere o togliere diritti. Dal momento che abbiamo soltanto gruppi aggiuntivi per diritti speciali, è facile e relativamente sicuro aggiungere nuovi diritti. Similmente, le penalizzazioni possono rimuovere questi diritti. Tuttavia, vbulletin non è molto chiaro su questo livello. Di conseguenza è molte volte più facile spostare i gruppi principali e applicare demozioni con gruppi aggiuntivi che rimuovere diritti precedentemente assegnati.

    A livello matematico-logico, vBulletin determina prima cosa possono fare gli utenti, e dopo, cosa non possono fare. Applica prima i permessi e poi le penalizzazioni. In questo modo prevalgono le penalizzazioni ed è garantito che l'utente non possa agire contro le regole inverse nonostante qualunque altra regola impostata. Unico tipo di utente esentato è il super-amministratore protetto dal file config.php.

    Una volta che si hanno stabilito le regole di crescita e le penalizzazioni, si possono comunque annullare alcuni divieti o abilitazioni generali, nei permessi delle sezioni ad esempio. E' l'ideale luogo per sconvolgere le regole di base in modo che non si capisce più una mazza

    Voglio dire, che i permessi dei forum servono per le eccezioni, ma piuttosto che sconvolgere tutto, si dovrebbe decidere quante eccezioni si possono introdurre. Impostare ogni sezione per ogni Pinco Pallino separatamente è certamente la scelta errata. Come lo è all'inverso: andare nel profilo utente e impostare la super-duper-regola personale è sorgente di guai più tardi.

    Urgono quindi alcuni gruppi di utenti che servono per "depositare" i ribelli tramite assegnazione automatica in base alle infrazioni. Inoltre serviranno nel percorso della vita del forum gruppi per accogliere utenti attivi, inattivi, cancellati, indesiderati, spammer. Eh già. Ogni utente fa ciccia, ogni utente potrebbe tornare, con le migliori intenzioni e arricchire il forum al contrario di ogni aspettativa, se ad esempio cambia la gestione o cambia semplicemente l'aria che tira. I forum sono come organismi vivi, a volte si ammalano, quasi mai guariscono, ma se dovesse succedere, allora è sempre a beneficio di tutti. Provare per credere ...

    Suggerisco quindi di lasciare intatto il gruppo 8 degli utenti esclusi e aggiungere:

    • Utenti attivi
    • Utenti inattivi
    • Utenti cancellati
    • Utenti indesiderati
    • Spammer

    Per l'area Staff, indispensabile per ogni forum, creerei una sottoscrizione a pagamento privata, che può accedere a determinate sezioni. Queste sezioni si devono nascondere a tutti, amministratori compresi (diritti sezione: nega tutto), e iscrivere tutti gli utenti abilitati a questa sottoscrizione.

    Questo sistema ha l'estremo vantaggio che quando si aggiunge un nuovo gruppo utenti, questo non ha automaticamente accesso alla sezione così impostata, e non vi sarà mai nessuno che accede incidentalmente. Inoltre si possono far accedere anche utenti che non sono amministratori o moderatori, e non è necessario impostare diritti speciali alle sezioni riservate, se non quella di negare l'accesso a tutti gli utenti.