[Php-it] "single sign-on" su siti differenti

Marcello Vezzelli marcello at vezz.it
Fri Jan 26 12:16:18 CET 2007


Matteo Petrelli wrote:
> Marcello Vezzelli ha scritto:
>> Fai una post http in php, da sito1 a sito2, verso un tuo script, con 
>> un contenuto criptato con un algoritmo che decidi tu complesso a 
>> piacere.
>> Lo script estrare i dati dell'utente ricevuti da sito1 e li inserisce 
>> sul db.
>> Dovresti fare la stessa cosa quando l'utente aggiorna i suoi dati o 
>> quando l'utente si cancella dal sito.
>> Dovresti anche gestire il fatto che se l'utente1 è già iscritto su 
>> sito1, se prova a iscriversi su sito2 deve impedirglielo, dicendogli 
>> che è già iscritto.
>>
> Questa e' una buona soluzione pragmatica... teoricamente con ws sei un 
> po' piu' pulito e puoi fare un api con parametri di ingresso e uscita 
> senza dover interpretare i dati di una response http...

Il problema di un approccio a db separati è sempre quello della 
possibile non sincronizzazione dei dati.

Cosa succede se l'utente (stronzo) si logga su entrambi i siti, su uno 
cambia l'utente che si chiama "utente" in "pippo" e sull'altro l'utente 
in "pluto", poi clicca "contemporaneamente" la conferma della modifica 
dei dati?
Non si sa se vince pippo o pluto.
Potrebbe succedere che le informazioni sui due db rimangano non allineate.

sito1 aggiorna utente->pippo su sito2
sito2 aggiorna utente->pluto su sito1
sito1 aggiorna utente pippo sul proprio database
arriva la richiesta di sito2... il database di sito1 viene aggiornato 
con pluto
sito2 aggiorna utente pluto sul proprio database
arriva la richiesta di sito1... il database di sito2 viene aggiornato 
con pippo.

Se le cose vanno in quest'ordine ad esempio, su sito1 utente diventa 
pluto e su sito2 utente diventa pippo.
E sale la paura..

Ciao
Marcello



More information about the Php-it mailing list