Van theorie naar praktijk – Autoriseren

In de serie over de ontwikkeling van Connect II voor de gemeente Den Haag, gaat het vandaag over autoriseren. Wie mag wat uitvoeren? Wat mag door wie gezien worden? Welke functies moeten op verschillende niveaus, voor verschillende gebruikersrollen toegankelijk zijn?

Allemaal zaken die goed op elkaar af dienen te worden gestemd, voordat er ook maar één regel code geschreven wordt. Als basis voor Connect hadden we drie A4-tjes met processen. Wie wat mocht doen? Dat werd gaandeweg steeds meer duidelijk. Voor Connect II hebben we inmiddels een drietal sessies doorlopen, waarin we hebben besproken wat de basisfuncties van het systeem moeten worden en welke functie door wie uitgevoerd mag worden.

Deze sessies lijken op het eerste oog tijdverspilling – van nature begin ik ergens aan en ‘zie vervolgens wel waar ik uitkom’,  in veel gevallen is dit een leuk bedacht, half uitgevoerd idee waar na 3 maanden niets meer mee gedaan wordt – maar uiteindelijk gaan deze sessie voor enorme tijdswinst zorgen: wat je investeert haal je er – vaak – ook weer uit.

Autorisatieniveaus

Voor Connect II hebben we gekozen voor een zestal autorisatieniveaus, elk met hun eigen functionaliteiten, regels en uitvoerniveaus. Met 13 verschillende diensten, met elke een eigen P&O afdeling, met elk een eigen werkwijze, wil dit – ervaring aan het woord – nog wel eens voor aardig wat tegenstand in aanpassing zorgen. Het is vrijwel onmogelijk om voor elke afdeling, elke dienst een uitzondering te schrijven. Om hieraan tegemoet te komen is er bedacht dat Connect II aan een bepaald autorisatieniveau een standaardset processen en functies koppelt. Wel kan er straks per gebruiker bepaald worden of hij/zij een uitzondering vormt en daarom een bepaald process wel mag uitvoeren.

Het mooie hiervan is dat je al die diensten de mogelijkheid geeft gebruikers – mits het toewijzen verstandig gebruikt wordt – flexibel in te delen in een bepaald autorisatieniveau, maar toch een aantal functies van een hoger niveau beschikbaar stellen.

Bijkomend voordeel is dat er door de gebruikte techniek geen aanvullende code hoeft te worden geschreven, maar dat al deze toewijzingen en uitzonderingen in een database worden vastgelegd.