LDAP BASE IMPLEMENRTATION

This commit is contained in:
Valery Sizov 2012-01-21 20:36:14 +02:00 committed by vsizov
parent b4cc04d7e1
commit c083df0570
12 changed files with 80 additions and 2 deletions

View file

@ -0,0 +1,22 @@
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def ldap
# We only find ourselves here if the authentication to LDAP was successful.
ldap = request.env["omniauth.auth"]["extra"]["raw_info"]
username = ldap.sAMAccountName[0].to_s
email = ldap.proxyaddresses[0][5..-1].to_s
if @user = User.find_by_email(email)
sign_in_and_redirect root_path
else
password = User.generate_random_password
@user = User.create(:name => username,
:email => email,
:password => password,
:password_confirmation => password
)
sign_in_and_redirect @user
end
end
end