Il giorno mar, 15/05/2007 alle 13.55 +0200, Roberto De Ioris ha scritto:
cgi = CGI.new
puts “Content-type: text/plain”
puts
(mi raccomando il secondo puts)
Ma nel caso si richiamino moduli esterni bisogna adottare particolari
procedure?
Mi spiego: il cgi e’ quello di cui sopra con l’aggiunta dei due comandi
da te indicati, come vedi richiamo il modulo ‘file1’ nel quale e’
definita la classe myLDAP.
Il modulo e’ (scusate se posto il codice):
require ‘ldap’
class myLDAP
def initialize
@base = “ou=People,dc=mydomain,dc=it”
@admin = “cn=admin,dc=mydomain,dc=it”
@passwd = “xxx”
@conn = LDAP::Conn.new(“localhost”)
@conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
@dominio = “@mydomain”
end
def connetti
@conn.bind(@admin, @passwd)
end
def inserisci(account)
newentry = {
“objectClass”=>
[“top”,“person”,“organizationalPerson”,“inetOrgPerson”,“posixAccount”],
“sn” => [account[“cognome”]],
“cn” => [“#{account[“nome”]} #{account[“cognome”]}”],
“mail” => [“#{account[“uid”]}#@dominio”],
“homeDirectory” => [“/var/vmail/#{account[“uid”]}”],
“uid” => [account[“uid”]],
“userPassword” => [“{CRYPT}#{account[‘passwd’]}”],
}
@conn.add(“uid=#{account[‘uid’]},#@base”, newentry)
end
def cerca
end
def elimina
end
end
quando lancio il cgi l’errore e’: /usr/lib/cgi-bin/ruby/accMail1.rb:4:in
`initialize’: wrong argument type Array (expected String) (TypeError),
referer: http://localhost/prove/mail1LDAP.html
non capisco nel metodo initialize dove sia l’argomento errato
considerando poi che se lancio il file file1.rb senza passare dal cgi
tutto funziona regolarmente.