Re: Rails and Windows Active Directory Authentication?


#1
    <removed_email_address@domain.invalid>

For MS AD authentication I am currently using:
return false if password.to_s.size == 0

    #   sqlserver_adapter.rb -- ActiveRecord adapter for Microsoft

SQL Server
#
# Author: Joey G. removed_email_address@domain.invalid
# Date: 10/14/2004
#
# Modifications: DeLynn B. removed_email_address@domain.invalid
# Date: 3/22/2005

Thank you very much for this start. Are you storing any objects (aside
from
user & pass) in AD that you are retrieving into the session hash?

Again, many thanks!


#2

For MS AD authentication I am currently using:

  • Installed ruby-ldap
  • Installed login_generator gem and let the generator build its basic
    setup
  • Modified the generated user model:

Thank you very much for this start. Are you storing any objects (aside from
user & pass) in AD that you are retrieving into the session hash?

At present, I’m just using AD for an authentication yes/no. I will soon
need
some authorization, but have not yet decided how I want to proceed. I
want to
look at Ezra Z.'s acl_system plugin and perhaps hook that in
with
LDAP to map AD groups to application roles.

I explored ActiveLDAP for a time, but it has more features than I needed
and
I didn’t want to mess around at the time with getting access to the
schema so
it could be “Active”.


#3

Here’s a strange bug:

Mac OS X 10.4.5
OpenLDAP - provided my MAC OS X
Ruby-LDAP 0.9.3
Rails 1.0.0

Compiled and loaded Ruby-LDAP. Wrote a test script, and instantly
talking to a Windows
Active Directory server.

Fire up the Rails console:

wilig$ script/console
Loading development environment.

require ‘ldap’
=> true

require ‘ldap/control’
=> true

LDAP::Conn.new(‘windowads’, 396)
(irb):3: [BUG] Bus Error
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.4.0]

Abort trap
wilig$

Freaking odd. What in initializer.rb is doing me so wrong?

Thanks for any insight.

-wilig


#4

I’m also getting this Abor trap message when using script/console.

It works just fine using straight irb and it is also working fine
when running through webrick.

It sure is weird. Not sure what is so different about script/console
than the other methods.

darktower$ ./script/console
Loading development environment.

require ‘ldap’
=> true

require ‘ldap/control’
=> true

conn = LDAP::Conn.new(‘10.10.10.100’, 389)
(irb):3: [BUG] Bus Error
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.5.0]

Abort trap
darktower$

-Jonathan


#5

It’s working for me under lighttpd.

-Jonathan


#6

It also fails under Lighttpd, library load path problem?

-wilig