Desidero implementare un sistema di sicurezza nella mia applicazione Intranet basata sul web che consente agli amministratori della sicurezza di "perfezionare" esattamente il tipo di accesso che un utente / ruolo ha a un oggetto. Ad esempio, una soluzione basata su ACL potrebbe consentire a un addetto alla reception di accedere a Create
, Read
e Update
a un appuntamento ma non a Delete
, analogamente potrei essere in grado di consentire all'utente Bob solo Read
o Comment
su un promemoria aziendale, ma non Create
, Update
o Delete
di essi.
Tuttavia, come potrei fare per consentire a un addetto alla reception di fissare gli appuntamenti solo negli orari di apertura? Come potrei limitare gli appuntamenti alle date da oggi a un mese da oggi? Che dire di Bob - come gli avrei lasciato Create
di un promemoria dopo aver guadagnato abbastanza punti di "rispetto" (un po 'come qui).
Fondamentalmente, come posso mantenere dinamici questi valori (orari di apertura, limiti di data, punti di rispetto, qualche nuovo vincolo) in modo che non li codifichi nell'applicazione? Qualcuno può raccomandare un metodo (o framework, libro da leggere ecc.) In modo che possa lasciare che l'amministratore crei e gestisca questi ruoli e i loro vincoli piuttosto che il programmatore?
L'ACL esistente e i sistemi basati sui ruoli che ho visto non sembrano offrire alcun modo per gestire i vincoli: o hai accesso o no!
Grazie