add blank password check
This commit is contained in:
parent
3c44cc7782
commit
0b765697f1
|
@ -10,51 +10,53 @@ module LdapLogin::Login
|
||||||
_session = {'ad' => []}
|
_session = {'ad' => []}
|
||||||
url = '/'
|
url = '/'
|
||||||
url_method = 'redirect_to'
|
url_method = 'redirect_to'
|
||||||
ldap_hosts.each do |ldap_host|
|
if !ldap_pass.blank?
|
||||||
begin
|
ldap_hosts.each do |ldap_host|
|
||||||
ldap = Net::LDAP.new
|
begin
|
||||||
ldap.host = ldap_host
|
ldap = Net::LDAP.new
|
||||||
ldap.port = 389
|
ldap.host = ldap_host
|
||||||
ldap.auth "#{ldap_user}@asia.edu.tw", ldap_pass
|
ldap.port = 389
|
||||||
if ldap.bind
|
ldap.auth "#{ldap_user}@asia.edu.tw", ldap_pass
|
||||||
if !user.nil?
|
if ldap.bind
|
||||||
#filter = Net::LDAP::Filter.eq( "sAMAccountName", ldap_user )
|
if !user.nil?
|
||||||
#treebase = "ou=Asia Univ,dc=asia,dc=edu,dc=tws"
|
#filter = Net::LDAP::Filter.eq( "sAMAccountName", ldap_user )
|
||||||
#puts "==LDAP SEARCH START=="
|
#treebase = "ou=Asia Univ,dc=asia,dc=edu,dc=tws"
|
||||||
#ldap.search( :base => treebase, :filter => filter, :return_result => false ) do |entry|
|
#puts "==LDAP SEARCH START=="
|
||||||
# puts "DN: #{entry.dn}"
|
#ldap.search( :base => treebase, :filter => filter, :return_result => false ) do |entry|
|
||||||
# entry.each do |attribute, values|
|
# puts "DN: #{entry.dn}"
|
||||||
# puts " #{attribute}:"
|
# entry.each do |attribute, values|
|
||||||
# values.each do |value|
|
# puts " #{attribute}:"
|
||||||
# puts " --->#{value}"
|
# values.each do |value|
|
||||||
# end
|
# puts " --->#{value}"
|
||||||
# end
|
# end
|
||||||
#end
|
# end
|
||||||
puts "==LDAP SEARCH END=="
|
#end
|
||||||
session[:user_id] = user.id
|
puts "==LDAP SEARCH END=="
|
||||||
session[:login_referer] = nil
|
session[:user_id] = user.id
|
||||||
if params[:referer_url]
|
session[:login_referer] = nil
|
||||||
url = URI.parse(params[:referer_url]).path
|
if params[:referer_url]
|
||||||
url_method = 'redirect_to'
|
url = URI.parse(params[:referer_url]).path
|
||||||
|
url_method = 'redirect_to'
|
||||||
|
else
|
||||||
|
url = admin_dashboards_path
|
||||||
|
url_method = 'redirect_to'
|
||||||
|
end
|
||||||
|
login_flag = true
|
||||||
else
|
else
|
||||||
url = admin_dashboards_path
|
error = I18n.t('devise.failure.ldap_pass_but_account_not_in_orbit')
|
||||||
url_method = 'redirect_to'
|
|
||||||
end
|
end
|
||||||
login_flag = true
|
|
||||||
else
|
else
|
||||||
error = I18n.t('devise.failure.ldap_pass_but_account_not_in_orbit')
|
error = '驗證失敗,您輸入的使用者名稱或密碼不正確!'
|
||||||
end
|
end
|
||||||
else
|
|
||||||
error = '驗證失敗,您輸入的使用者名稱或密碼不正確!'
|
|
||||||
end
|
|
||||||
break
|
|
||||||
rescue => e
|
|
||||||
if !e.class==Net::LDAP::ConnectionError
|
|
||||||
error = '發生不可預知的錯誤'
|
|
||||||
puts ['ldap',error,e]
|
|
||||||
break
|
break
|
||||||
else
|
rescue => e
|
||||||
error = 'Could not connect to AD server.'
|
if !e.class==Net::LDAP::ConnectionError
|
||||||
|
error = '發生不可預知的錯誤'
|
||||||
|
puts ['ldap',error,e]
|
||||||
|
break
|
||||||
|
else
|
||||||
|
error = 'Could not connect to AD server.'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue