Sto lavorando a un progetto CakePHP e attualmente sto sviluppando la parte di autenticazione dell'utente. Il problema è che le mie informazioni di autenticazione (es: le password) non sono memorizzate nel mio database - la fonte di autenticazione è LDAP ma la mia domanda si applica ugualmente a qualsiasi fonte non di database.Fonti di autenticazione alternative in CakePHP (LDAP)
sembra come se Cake gestisce solo le password quando esistono nel database locale. The Cake Cookbook suggests che è possibile specificare un controller/modello/oggetto diverso per fornire una procedura di autorizzazione utilizzando la variabile $this->Auth->authorize
, tuttavia guardando il codice (in particolare the Auth::startup()
function) sembra che Cake tenterà sempre di interrogare il database primo, verificando un nome utente/password corrispondente, prima di esaminare l'oggetto alternativo specificato con Auth->authorize
. Cioè, la modifica di authorize
aggiunge solo un filtro di secondo livello, non sostituisce la ricerca nel database.
// The process
1. User provides details
2. Cake checks the database
3. If OK, then check the custom object method
4. If OK, return true
// What I'd like:
1. User provides details.
2. Check the custom object method
3. If OK, return true
4. Profit.
Qualche idea su come eseguire questa operazione, si spera senza l'hacking dei file principali?
+1 per profitto ... – Stephen