Support german umlauts and whitespaces in login string
|Category:||Accounts / authentication|
I am using redmine to authenticate with a Lotus Notes LDAP server. Unfortunately the validated login string can contain umlauts and whitespaces, like in the name "Max Müller". Redmine by default does neither allow non-ascii characters nor whitespaces in the login string.
If there is no other reason, why special characters must not be used, I think one could localize the validation pattern by extracting it into config/locales to be configured individually for each language.
For myself now, I changed app/models/user.rb
validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i
validates_format_of :login, :with => /^[a-z0-9_ äüöéßÄÜÖ\-@\.]*$/iu
which suits my needs very well.
Please let me know, if this is a good idea.
#1 Updated by Max Meier over 10 years ago
- File patch.txt added
Upgrading to redmine 1.2.2 I created a patch for app/models/user.rb, which allows german umlauts and accent d'aigu in login names. The regexp pattern is extended with unicode quoted characters, so it should run also without requiring cp1232 or such.
Could you please integrate this into official redmine versions?
#3 Updated by Piotr Karasinski about 9 years ago
Just stumbled upon the same issue with danish characters. The name of this thread should maybe be changed to "national characters in login string" or something. Anyway the difference for me was that these national characters are not ASCII, and apparently the app/models/user.rb file in its unmodified form is ASCII encoded. So I needed to add the following code on the very top of the file:
# -*- coding: utf-8 -*-
otherwise it failed with an error (at least it did for me) when accessing Redmine.
#4 Updated by Daniel Felix about 9 years ago
Well we encountered the same Problem. It would be great to have this enabled in the next release.
I currently disabled just the Loginname validation as we are using LDAP for our user management. But this way we just need to change some core code on every release to get this thing working.
#6 Updated by Gregor Borsemirk about 7 years ago
I also just came across this issue where I was authenticating against LDAP.
This user had a german 'umlaut' in his user name and redmine always was rejecting a login with 'invalid user name'
The fix from Max Meier works for me in Redmine 2.6.3
So thanks to Max!
#7 Updated by int redmine over 6 years ago
It is not only login causing issues when containg umlauts.
I also get an Internal error
An error occurred on the page you were trying to access.
If you continue to experience problems please contact your Redmine administrator for assistance.
If you are the Redmine administrator, check your log files for details about the error.
during account creation on first time login by LDAP.
This is also caused by umlauts in first name/Last name
account creation through normal register procedure is working, when first name/Last name contain umlauts.
#12 Updated by Andreas Deininger 2 months ago
More than 6 years later, I again ran into the same problem when updating my Redmine instance to version 4.2.4. Again, I successfully used the patch above to overcome the limitation I encountered.
I really would like to see this issue addressed in future Redmine versions.
Pleas note, that I'm not the only one, this note
https://www.redmine.org/issues/6166 is basically the same problem with german characters, but no one seems to be interested.