Per prima cosa, crea tutto ciò che puoi innestare. Loose-coupling, buona forma, tutto quel jazz che è dappertutto programmers.stackexchange.com . In questo modo se qualcuno vuole cambiare nome utente / password per l'autenticazione del dominio, puoi venderlo come una funzione facile. Allo stesso modo con la modifica della registrazione da file di testo a syslog in database.
- Autenticazione e autorizzazione
- Accesso
... e questo è tutto. Tenere gli utenti non autorizzati fuori e limitare gli utenti autorizzati ai loro ruoli, registrare il comportamento e mantenere l'integrità (specifica dell'applicazione, ma in pratica fare attenzione alle modifiche irreversibili). Tutto in un audit si riduce davvero a quei comportamenti. Codice con l'idea di registrare tutto e utilizzare la configurazione per disattivare le cose che non vuoi. Creare autorizzazioni con ruoli e concentrarsi sulla logica aziendale di ciò che gli utenti potrebbero fare.
Può UserA
vedere il prezzo di costo? Possono fissare prezzi di vendita? Fai un sacco di domande su di te in questo modo. Se la tua applicazione è flessibile e completa in quelle aree che ho menzionato, sarai in grado di soddisfare la maggior parte degli standard esistenti.