Hi all, Andreas made up a small JRuby app to register users, think this is pretty amazing!
Just for your information. /peter ---------- Forwarded message ---------- From: Andreas Ronge <[EMAIL PROTECTED]> 1. install jruby, http://dist.codehaus.org/jruby/ 2. Check/Update environment vars: set JAVA_HOME (or just have "java" executable in PATH) add $JRUBY_HOME/bin to PATH 3. install rails: gem install rails 4. install ldap ruby library: gem install ruby-net-ldap 5. create a rails project: rails demo 6. cd demo 7. create a controller: jruby script/generate controller UserAdmin 8. edit the app/controllers/upser_admin_controller: require 'rubygems' require 'net/ldap' class UserAdminController < ApplicationController def registration end def add_user @username = params[:username] pwd = params[:password] ldap = Net::LDAP.new ldap.host = 'localhost' ldap.port = 10389 ldap.auth "uid=admin,ou=system", "secret" dn = "[EMAIL PROTECTED],ou=users,ou=system" attributes = { :cn => @username, :objectclass => ["top", "person", "inetorgperson", "organizationalPerson"], :sn => @username } success = ldap.add(:dn => dn, :attributes => attributes) puts "Success #{success}" end end 9. create rhtml files: app/views/user_admin/add_user.rhtml <html> <head> <title>Signed Up</title> </head> <body> <h1>You have now registered with username <[EMAIL PROTECTED]></h1> </body> </html> app/views/user_admin/registration.rhtml: <html> <head> <title>Registration</title> </head> <body> <h1>Registration</h1> <h3>Please enter user name and password</h3> <% form_tag(:action => :add_user) do %> <label>Username:</label> <%= text_field_tag :username %> <br/> <label>Password:</label> <%= password_field_tag :password %> <p> <%=submit_tag 'Add'%> <% end %> </body> </html> 10. test it in WEBrick: jruby script/server You can now add a user in the ldap by filling in the html form at http://localhost:3000/user_admin/registration 11. configure which gems should be included in the WAR file you need to tell which gems should be packed in the WAR file by adding file config/war.rb: add_gem 'ruby-net-ldap' 12. create WAR rake war:standalone:create 13. run it in jetty rake war:standalone:run