Defect #5592

Better error page on LDAP Authentication error

Added by Brandon Bonds over 1 year ago. Updated over 1 year ago.

Status:New Start date:2010-05-25
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:LDAP
Target version:-
Affected version:0.9.3 Resolution:Cant reproduce

Description

Logging in as a non-LDAP user, and testing the LDAP connection, I get Unable to connect (LdapError: no connection to server). But logging in as an LDAP user at the same time results in a 500 error, instead of a "nice" error page.

This is in the server log:

RuntimeError (LdapError: no connection to server):
  app/models/auth_source_ldap.rb:61:in `authenticate'
  app/models/user.rb:105:in `try_to_login'
  app/controllers/account_controller.rb:139:in `password_authentication'
  app/controllers/account_controller.rb:35:in `login'

Rendering C:/Program Files/BitNami RubyStack/apps/redmine/public/500.html (500 Internal Server Error)

Associated revisions

Revision 3819
Added by Eric Davis over 1 year ago

Add some tests for User#try_to_login with LDAP. #5592

History

Updated by Felix Schäfer over 1 year ago

  • Subject changed from LDAP Unavailable/500 Internal Server Error to Better error page on LDAP Authentication error
  • Target version set to 1.0.0 (RC)

We should be able to catch errors on authentication and display a more meaningful error page than an http/500. I've set this to 1.0.0 even though we are in feature freeze, might only get fixed in a subsequent minor though.

Updated by Eric Davis over 1 year ago

  • Assignee set to Eric Davis
  • Target version deleted (1.0.0 (RC))
  • Resolution set to Cant reproduce

Can someone verify this bug exists on trunk? I added some tests in r3819 but I can't reproduce it. The LDAP code has recently been refactored so it might have fixed this bug at that time.

Updated by Brandon Bonds over 1 year ago

I just tested this again on trunk build r3826. The problem still shows up.

The easiest way for me to test was to set up good and working LDAP authentication, and then replace the server with something bogus. That reproduced the situation identically to what I mentioned before, except the log error has changed a bit:

RuntimeError (LdapError: no connection to server):
  app/models/auth_source_ldap.rb:43:in `authenticate'
  app/models/user.rb:105:in `try_to_login'
  app/controllers/account_controller.rb:147:in `password_authentication'
  app/controllers/account_controller.rb:142:in `authenticate_user'
  app/controllers/account_controller.rb:30:in `login'

Rendering C:/Program Files/BitNami RubyStack/apps/redmine/public/500.html (500 Internal Server Error)

Updated by Eric Davis over 1 year ago

  • Assignee deleted (Eric Davis)

Also available in: Atom PDF