Sei sicuro che la modularità sia quella che ti serve?
A me non sembra proprio.
Il tuo mi pare un normalissimo caso di accesso multi-utente in cui, al massimo, devi permettere o meno all'utente di gestire (in scrittura o lettura a seconda dei casi) determinate aree/funzioni del programma.
In tutti i casi, come minimo, dovrai avere una tabella degli utenti con username, password ed una tabella per le permissions delle varie aree.