Agganciarsi ad un db esterno per fare il login

12 contenuti / 0 new
Ultimo contenuto
Agganciarsi ad un db esterno per fare il login

Ciao all, dovrei fare un sistema di backend per la gestione di alcuni dati, dove questi dati sono inseriti dall'utente.

Ho un problema sulle utenze: queste sono all'interno di un db esterno a cui mi devo collegare per effettuare il login. Non posso spostarle come gestione sul sistema di backend perché lo stesso db è usato da vari altri backend/frontend (uno anche in joomla a quanto ho potuto vedere)

Secondo voi come posso aggirare il problema ? Io pensavo ad un form di login "fake" che si connette al db remoto, controlla che sia corretta login/password e poi fa un controllo in locale per vedere se l'utente "login" esiste. Se esiste effettua il login, altrimenti lo salva nel sistema drupal ed effettua il login. In questo modo ho tutta la gestione dei permessi corretta e drupal riesce ad assegnare correttamente le utenze con i vari nodi.

Voi avete altre soluzioni da consigliarmi ?

M.

In passato ho fatto più o meno quello che hai descritto tu. Direi che è l'unica strada, se l'utente deve creare contenuti.

Ciao, avresti mica del codice da passarmi ? Ad esempio: come faccio a far scattare il login di drupal avendo login/password ?

M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

There's a function for that :P
user_external_login (user_login_submit per D7 - guarda i commenti a user_external_login)

Intanto grazie, poi dalle api "The user object must already be authenticated." che vorrebbe dire "L'oggetto utente deve essere già autenticato", ma forse in questo caso autenticated deve essere tradotto come "validato/valido". Giusto ?

Grazie.

M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

Immagino di sì, perché io non ho fatto altro che creare, appunto, un oggetto user valido. Questo quando ho creato l'utente. Quando l'utente esiste già su Drupal, basta caricare lo user esistente e l'oggetto è già disponibile.

L'hook_user() con $op = 'login' dovrebbe fare al caso tuo, io l'ho usato per connettermi a server esterni per l'autenticazione e non ha dato problemi :)

Ciao
Marco
--
My blog
Working at @agavee

il modulo site network? scartato?

@mavimo, ma se ho capito bene, $op=login funziona *dopo* l'autenticazione. Prima devi usare user_external_login per autenticare l'utente. O no?

Quindi per fare in modo che il mio sito Drupal accetti le credenziali di utenti creati esternamente Drupal,

la funzione con cui "litigare" è questa?

http://api.drupal.org/api/drupal/modules--user--user.module/function/use...
(function user_external_login_register)

Io ho fatto manualmente la creazione dell'utente e poi ho usato user_external_login. Probabilmente con questa funzione risparmi un po' di codice.

puoi anche usare oauth