# Active Directory in Ruby on rails

**URL:** <https://www.ruby-forum.com/t/active-directory-in-ruby-on-rails/189092>\
**Category:** Ruby\
**Created:** [May 24, 2010, 12:27pm UTC](https://www.ruby-forum.com/t/active-directory-in-ruby-on-rails/189092 "2010-05-24T12:27:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![periyasamy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/3d9bf3/32.png) [@periyasamy](https://www.ruby-forum.com/u/periyasamy)\
**Post date:** [May 24, 2010, 12:27pm UTC](https://www.ruby-forum.com/t/active-directory-in-ruby-on-rails/189092/1 "2010-05-24T12:27:12Z")

</div>

Hi All,

What is Active Directory authentication?. How to use in Ruby on rails?.

Regards,

Periyasamy.R

---

<div class="post-metadata">

**Author:** ![periyasamy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/3d9bf3/32.png) [@periyasamy](https://www.ruby-forum.com/u/periyasamy)\
**Post date:** [May 24, 2010, 8:41pm UTC](https://www.ruby-forum.com/t/active-directory-in-ruby-on-rails/189092/2 "2010-05-24T20:41:00Z")

</div>

On Mon, May 24, 2010 at 6:27 AM, Periyasamy R.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> What is Active Directory authentication?. How to use in Ruby on rails?.

Using Apache SSPI:

> **[Active Directory Authentication for Ruby on Rails](https://www.zorched.net/2007/06/04/active-directory-authentication-for-ruby-on-rails/)**

Using LDAP:  
[http://www.ruby-forum.com/topic/55450#37973](http://www.ruby-forum.com/topic/55450#37973)

A slightly different version using LDAP:

require ‘net/ldap’  
class User  
def self.authenticate(username, password)  
return false if username.to\_s.size == 0  
return false if password.to\_s.size == 0

```
begin
  ldap = Net::LDAP.new(
    :host => AD_DOMAIN_CONTROLLER,
    :port => 389,
    :auth => {
      :method => :simple,
      :username => "#{username}", # <- AD UPN
      :password => "#{password}"
    }
  )
rescue
  return false
end

ldap.bind ? User.find_by_login("#{username}") : nil

```

end  
end

---

<div class="post-metadata">

**Author:** ![periyasamy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/3d9bf3/32.png) [@periyasamy](https://www.ruby-forum.com/u/periyasamy)\
**Post date:** [June 4, 2010, 11:18am UTC](https://www.ruby-forum.com/t/active-directory-in-ruby-on-rails/189092/3 "2010-06-04T11:18:43Z")

</div>

unknown wrote:

> On Mon, May 24, 2010 at 6:27 AM, Periyasamy R.  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > What is Active Directory authentication?. How to use in Ruby on rails?.
> 
> Using Apache SSPI:  
> [Zorched / One-Line Fix | Active Directory Authentication for Ruby on Rails](http://www.zorched.net/2007/06/04/active-directory-authentication-for-ruby-on-rails/)
> 
> Using LDAP:  
> [Rails and Windows Active Directory Authentication? - Rails - Ruby-Forum](http://www.ruby-forum.com/topic/55450#37973)
> 
> A slightly different version using LDAP:
> 
> require ‘net/ldap’  
> class User  
> def self.authenticate(username, password)  
> return false if username.to\_s.size == 0  
> return false if password.to\_s.size == 0
> 
> ```
> begin
> ldap = Net::LDAP.new(
> :host => AD_DOMAIN_CONTROLLER,
> :port => 389,
> :auth => {
> :method => :simple,
> :username => "#{username}", # <- AD UPN
> :password => "#{password}"
> }
> )
> rescue
> return false
> end
> 
> ldap.bind ? User.find_by_login("#{username}") : nil
> 
> ```
> 
> end  
> end

Hi,

Great!. It worked for me.

Thanks,  
Periyasamy.R
