View on GitHub

Adauth

Active Directory Interaction for Ruby

Download this project as a .zip file Download this project as a tar.gz file

Install

Add the Adauth gem to your Gemfile:

gem 'adauth'

and run a bundle install

Usage

In Rails

First off create a new config file by running the config generator

rails g adauth:config

Fill out the config values in config/initializers/adauth.rb

Joining a model to Adauth

If you want to link your user model to Adauth you can use this simple code:

class User < ActiveRecord::Base
    include Adauth::Rails::ModelBridge

    AdauthMappings = {
        :login => :login
        :group_strings => :cn_groups
    }

    AdauthSearchField = [:login, :login]
end

This gives you a bridge between Adauth and your model. When you call User.create_from_adauth(adauth_model) it does:

u = User.new
u.login = adauth_model.login
u.group_strings = adauth_model.cn_groups
u.save

This can be used for any model and anything that you pull over through adauth.

SessionsController

You can use a premade sessions controller by running

rails g adauth:sessions

Which adds a couple of routes, a sessions controller and a login form. To login go to /sessions/new and fill out the form, you will then POST to /adauth and if succesful you will be sent back to root_path

In Scripts

To use Adauth in a script or other program just call Adauth.configure somewhere at the begining of the script, once configured Adauth can be used anywhere in your program the same as rails.

Configuring

Adauth has a few configuration options which are described in detail on the wiki.

Logs

Adauth logs to weekly logs in logs/adauth.log(.DATE)

You can interact with the logger through Adauth.logger and set a new one using Adauth.logger=

Developing

Before you can run the tests you will need to write a yml file with your domain settings in and place it at spec/test_data.yml, there is an example of this file in the spec folder.