Centralizzare login

Ho due applicazioni A e B rails 3.0 con ognuna il suo
database con relativa tabella users al momento usata per
l’autenticazione.
Usando una terza applicazione C con il suo db con tabella users
che indirizza ad A e B posso loggarmi ad A e B senza rifare
l’autenticazione?
Si può implementare un login centralizzato usando una unica tabella
users ?
Uso rails 3.0 + passenger.

Grazie per le eventuali risposte.

forse questo può esserti utile:
http://it.asciicasts.com/episodes/233-conosciamo-devise

Ciao Michele.

Grazie per la risposta.
Devise l’avevo già esaminata (superficialmente) ma non trovo specifici
riferimenti al mio problema.
Tenendo presente che le mie applicazioni son tutte rails 3.0
cercavo qualcosa di più specifico (semplice)
Magari, che so, intervenendo su config.action_controller.session
e :session_key delle varie app
Ciao

Mariarosaria T. wrote in post #971024:

Grazie per la risposta.
Devise l’avevo già esaminata (superficialmente) ma non trovo specifici
riferimenti al mio problema.
Tenendo presente che le mie applicazioni son tutte rails 3.0
cercavo qualcosa di più specifico (semplice)
Magari, che so, intervenendo su config.action_controller.session
e :session_key delle varie app
Ciao

Nell’artico che ti ho allegato si parla anche di
“… autenticarsi mediante una serie di servizi differenti.”
non solo di devise.

Ciao Michele.

Ciao Mariarosaria,

2010/12/28 Mariarosaria T. [email protected]:

Grazie per la risposta.
Devise l’avevo gi esaminata (superficialmente) ma non trovo specifici
riferimenti al mio problema.
In realt avresti potuto demandare l’autenticazione ad un provider
openid, come google, facebook e poi fare la profilatura utente in
maniera custom sulla base di quello che deve fare ciascuna
applicazione A, B e C.

Il vantaggio? Non gestisci tu le password e questo un bello
sbattimento in meno e le 3 applicazioni si rifanno ad un unico punto
di login.

Tenendo presente che le mie applicazioni son tutte rails 3.0
cercavo qualcosa di pi specifico (semplice)
Guarda se questo engine ti pu tornare comodo:
GitHub - railsadminteam/rails_admin: RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data

Ciao ciao
Paolo


“… static analysis is fun, again!”

OWASP Orizon project leader, http://github.com/owasp-orizon
OWASP Esapi Ruby project leader,
GitHub - thesp0nge/owasp-esapi-ruby: The Owasp Esapi Ruby is a port for outstanding release quality Owasp Esapi project to the Ruby programming language. The idea is to build a Ruby gem (the standard ruby library archive format) containing the Esapi concepts implemented in Ruby classes so people using Ruby in their Rails application can have security into them.

Un paio di idee…

Hai provato a guardare CAS (CAS Authentication | Documentation for Tiki Wiki CMS Groupware
Confluence)? Io lo
avevo valutato quando ho avuto un problema simile al tuo. Dovevo
condividere le credenziali tra una applicazione Rails ed un Forum in
PHP. Lo scartammo perche’ il forum (proprietario: intense debate
credo) in PHP non rendeva l’integrazione molto facile. Introdurresti
un altro componente (il server credo sia Java) e non so’ se il gioco
valga la candela nel tuo caso.

Potresti modularizzare una delle due applicazioni e renderla un plugin
o un engine? Sono su due domini diversi?
La nostra app era un subdomain example.com e forum.example.com, quindi
ce la siamo cavata usando shared sessions e un po’ di sincronizzazione
via API tra le due tabelle (Rails users e PHP forum users).

Ed infine, prima di decidere c’e’ nell’aria una terza o quarta
applicazione che dovra’ usare lo stesso sistema di login?

HTH :slight_smile:
ciao

2010/12/29 Luca De Marinis [email protected]:

stesso modo su tutte le applicazioni


Enrico T.
IT consultant, accessible web sites and web applications
currently working @ http://www.redant.com.au
Sydney, NSW, Australia
[email protected]
mobile (AU) +00610416748450

Le applicazioni sono su http://www.mydom.it/, http://www.mydom.it/app1
http://www.mydom.it/app2
Uso passenger

Ciao

2010/12/27 Mariarosaria T. [email protected]:

Ho due applicazioni A e B rails 3.0 con ognuna il suo
database con relativa tabella users al momento usata per
l’autenticazione.
Usando una terza applicazione C con il suo db con tabella users
che indirizza ad A e B posso loggarmi ad A e B senza rifare
l’autenticazione?

In alcuni casi potrebbe bastare settare il dominio del cookie nello
stesso modo su tutte le applicazioni
(http://s2.diffuse.it/blog/show/8_Setting+the+domain+of+the+session+cookie+in+rails)

  • non ho idea se cosa sia cambiata in rails 3 pero’… e ovviamente
    funziona solo se le tue applicazioni vengono accedute dallo stesso
    dominio di secondo livello (insomma se sono del tipo app1.example.com,
    app2.example.com)… in effetti e’ piu’ elegante usare una
    autenticazione centralizzata e magari delegata alla oauth/etc come
    altri proponevano, ma forse ti puo’ bastare…

Si pu implementare un login centralizzato usando una unica tabella
users ?

Si ma e’ una cosa diversa anche se magari complementare a quella che
chiedi sopra… si puo’ fare dicendo a tutte le applicazioni di usare
la stessa tabella usando set_table_name “unico_db.project” nelle
classi User delle varie apps.

ciao