# \[Rails\] DB, LDAP e...qualche consiglio

**URL:** <https://www.ruby-forum.com/t/rails-db-ldap-e-qualche-consiglio/99594>\
**Category:** IT\
**Created:** [July 24, 2006, 11:22am UTC](https://www.ruby-forum.com/t/rails-db-ldap-e-qualche-consiglio/99594 "2006-07-24T11:22:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![nutsmuggler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/57b2e6/32.png) [@nutsmuggler](https://www.ruby-forum.com/u/nutsmuggler)\
**Post date:** [July 24, 2006, 11:22am UTC](https://www.ruby-forum.com/t/rails-db-ldap-e-qualche-consiglio/99594/1 "2006-07-24T11:22:23Z")

</div>

Ciao a tutti,  
mi hanno chiesto di sviluppare una piccola interfaccina per immettere  
dei valori e subito ho pensato di farla in Rails. Detto fatto però sta  
cosa deve prevedere un minimo di autenticazione…ok nulla di più  
semplice. E invece…bisogna usarte un catalogo LDAP (la solita  
ActiveDir) per evitare che gli utenti si debbano ricordare password  
nuove e bla bla bla. Pensa e ripensa sono arrivato a sta conclusione.  
Uso ActiveLDAP per recuperare sAMAccountName e Password per autenticare  
e un db dove andrò a salvare degli attributi estesi per ogni singolo  
utente (non mi va di modificare lo schema di AD). Quindi un account  
abilitato all’applicazione oltre a possedere un account valido su LDAP  
ha anche una entri nel db, in una tabella users, dove vi son memorizzati  
altri parametri leativi all’utente. Il mio dubbio…mi conviene creare 2  
models che incapsulano i due oggetti User su LDAP e su DB, quindi  
gestire l’associazione con un helper oppure creare un model “fittizio”  
che ha all’interno le classi private che incapsulano i 2 oggetti  
suddetti? Diciamo che è più una “para” di stile che di funzionalità…

Davide

---

<div class="post-metadata">

**Author:** ![nutsmuggler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/57b2e6/32.png) [@nutsmuggler](https://www.ruby-forum.com/u/nutsmuggler)\
**Post date:** [July 24, 2006, 6:29pm UTC](https://www.ruby-forum.com/t/rails-db-ldap-e-qualche-consiglio/99594/2 "2006-07-24T18:29:46Z")

</div>

ciao  
io non direi che è una “para” di stile, è la differenza tra un modello  
estendibile e facilmente modificabile e uno no,

il problema è molto interessante e importante in ambiente enterprise,  
nel mio caso specifico oltre all’LDAP ci sono altri sistemi, per esempio  
as400,  
è molto importante quindi avere un modello con interfaccia minima esposta  
e  
“nascondere” i dettagli  
Ciao Paolo

---

<div class="post-metadata">

**Author:** ![nutsmuggler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/57b2e6/32.png) [@nutsmuggler](https://www.ruby-forum.com/u/nutsmuggler)\
**Post date:** [August 14, 2006, 9:11pm UTC](https://www.ruby-forum.com/t/rails-db-ldap-e-qualche-consiglio/99594/3 "2006-08-14T21:11:30Z")

</div>

Davide B. wrote:

> Ciao a tutti,  
> mi hanno chiesto di sviluppare una piccola interfaccina per immettere  
> dei valori e subito ho pensato di farla in Rails. Detto fatto perï¿½ sta  
> cosa deve prevedere un minimo di autenticazione…ok nulla di piï¿½  
> semplice. E invece…bisogna usarte un catalogo LDAP (la solita  
> ActiveDir) per evitare che gli utenti si debbano ricordare password  
> nuove e bla bla bla. Pensa e ripensa sono arrivato a sta conclusione.  
> Uso ActiveLDAP per recuperare sAMAccountName e Password per autenticare  
> e un db dove andrï¿½ a salvare degli attributi estesi per ogni singolo  
> utente (non mi va di modificare lo schema di AD). Quindi un account  
> abilitato all’applicazione oltre a possedere un account valido su LDAP  
> ha anche una entri nel db, in una tabella users, dove vi son memorizzati  
> altri parametri leativi all’utente. Il mio dubbio…mi conviene creare 2  
> models che incapsulano i due oggetti User su LDAP e su DB, quindi  
> gestire l’associazione con un helper oppure creare un model “fittizio”  
> che ha all’interno le classi private che incapsulano i 2 oggetti  
> suddetti? Diciamo che ï¿½ piï¿½ una “para” di stile che di funzionalitï¿½…
> 
> Davide

Perdono se non mi spiego bene in italiano, ma non si puo’ recuperare il  
password dall’ActiveDirectory. Per fare il “login” bisogna sempre  
collegare all’AD. Mi sembra che per te sarebbe piu’ utile avere un  
sistema diverso dall’AD, ma che puo’ interoperate con AD, e sempre  
funziona facilmente con Rails.

---

<div class="post-metadata">

**Author:** ![nutsmuggler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/57b2e6/32.png) [@nutsmuggler](https://www.ruby-forum.com/u/nutsmuggler)\
**Post date:** [August 16, 2006, 12:49pm UTC](https://www.ruby-forum.com/t/rails-db-ldap-e-qualche-consiglio/99594/4 "2006-08-16T12:49:58Z")

</div>

Infatti me ne sono accorto. Quindi ho pensato di risolvere facendo prima  
una  
ricerca nel db locale se l’utente esiste e poi un bind su AD per  
convalidare  
l’autentica. Ho ancora qualche dubbio su come strutturare il tutto  
(helper o  
classi model). Cosa intendi per sistema diverso che può interoperare con  
AD?

Davide

Francis C. Scrive:

---

<div class="post-metadata">

**Author:** ![nutsmuggler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/57b2e6/32.png) [@nutsmuggler](https://www.ruby-forum.com/u/nutsmuggler)\
**Post date:** [August 16, 2006, 10:16am UTC](https://www.ruby-forum.com/t/rails-db-ldap-e-qualche-consiglio/99594/5 "2006-08-16T10:16:46Z")

</div>

Salve a tutti,  
ho un problema che non riesco a risolvere:  
la mia applicazione rails ha una classe che si chiama Test. Quando  
lancio  
$ ruby test/unit/test\_test.rb  
ottengo un errore  
‘Test is not a class (Type error)’  
Suppongo che questo sia dovuto al fatto che la parola test ha,  
ovviamente, un altro significato in rails e non dovrebbe essere il nome  
di una classe. PoichÃ© nella mia applicazione quell’oggetto dovrebbe  
chiamarsi proprio test, ho provato ad usare un namespace. Il mio  
app/models/test.rb Ã¨ diventato:

module Iknow  
end  
class Iknow::Test \< ActiveRecord::Base  
end

A questo punto il test ha successo, ma quando vado a visualizzare la  
pagina  
[http://localhost:3000/tests](http://localhost:3000/tests)  
sul browser ottengo l’errore:  
NameError in TestsController#index  
uninitialized constant Test

Come posso risolvere?  
So bene che basterebbe cambiare il nome della classe da “Test” a  
qualcos’altro, ma perderei l’occasione per imparare qualcosa 🙂  
Grazie a chi vorrÃ darmi un consiglio  
Marco
