comparison app/models/auth_source.rb @ 1115:433d4f72a19b redmine-2.2

Update to Redmine SVN revision 11137 on 2.2-stable branch
author Chris Cannam
date Mon, 07 Jan 2013 12:01:42 +0000
parents cbb26bc654de
children 622f24f53b42
comparison
equal deleted inserted replaced
929:5f33065ddc4b 1115:433d4f72a19b
1 # Redmine - project management software 1 # Redmine - project management software
2 # Copyright (C) 2006-2011 Jean-Philippe Lang 2 # Copyright (C) 2006-2012 Jean-Philippe Lang
3 # 3 #
4 # This program is free software; you can redistribute it and/or 4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License 5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2 6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version. 7 # of the License, or (at your option) any later version.
13 # 13 #
14 # You should have received a copy of the GNU General Public License 14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software 15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 # Generic exception for when the AuthSource can not be reached
19 # (eg. can not connect to the LDAP)
20 class AuthSourceException < Exception; end
21 class AuthSourceTimeoutException < AuthSourceException; end
22
18 class AuthSource < ActiveRecord::Base 23 class AuthSource < ActiveRecord::Base
24 include Redmine::SubclassFactory
19 include Redmine::Ciphering 25 include Redmine::Ciphering
20 26
21 has_many :users 27 has_many :users
22 28
23 validates_presence_of :name 29 validates_presence_of :name
51 false 57 false
52 end 58 end
53 59
54 # Try to authenticate a user not yet registered against available sources 60 # Try to authenticate a user not yet registered against available sources
55 def self.authenticate(login, password) 61 def self.authenticate(login, password)
56 AuthSource.find(:all, :conditions => ["onthefly_register=?", true]).each do |source| 62 AuthSource.where(:onthefly_register => true).all.each do |source|
57 begin 63 begin
58 logger.debug "Authenticating '#{login}' against '#{source.name}'" if logger && logger.debug? 64 logger.debug "Authenticating '#{login}' against '#{source.name}'" if logger && logger.debug?
59 attrs = source.authenticate(login, password) 65 attrs = source.authenticate(login, password)
60 rescue => e 66 rescue => e
61 logger.error "Error during authentication: #{e.message}" 67 logger.error "Error during authentication: #{e.message}"