The larger problem is that LDAP authentication in Windows is case-insensitive but the program(s) using this feature for authentication are case sensitive. Two such programs are Collabnet SubversionEdge and Adobe Version Cue. Any variation on the case of the user name results in another user entry in those packages. And this user will have no access, frustrating the person, and clogging the help desk with tickets.
Collabnet Subversion Edge uses Apache 2.2 so I intend to intercept the url and rewrite the username to enforced lowercase at the server-side.
example input:
https://User:password@svn.domain.com
https://USER@svn.domain.com
svn://useR:password@svn.domain.com/Repo/Trunk/BIN/
svn://svn.domain.com/Repo/Trunk/BIN/
desired rewrite:
https://user:password@svn.domain.com
https://user@svn.domain.com
svn://user:password@svn.domain.com/Repo/Trunk/BIN/
svn://svn.domain.com/Repo/Trunk/BIN/
Notice that the rest of the url is unchanged.
Bonus question:
Will this ReWriteRule handle all cases for Collabnet Edge?
The other ways to talk to the server are:
1) Through the browser-based management console:
<form action='/csvn/j_spring_security_check' method='POST' id='loginForm'>
<input type='text' class='text_' name='j_username' id='j_username' value='' />
<input type='password' class='text_' name='j_password' id='j_password' />
<input type='submit' value='Login' class="Button"/>
</form>
2) svn clients
eg. TortoiseSVN, AnhkSVN, and subserversion client via the commandline.
Piece of cake (hear irony here?): please checkout how RewriteMap can use internal functions (see here), here it’s the
tolowerfunction:This should work.
I hope I’ve given you enough clues to finish the job 😉
If you don’t have enough clues…
Two hints:
Please try to use the
RewriteLogdirective: it helps you to track down such problems:My favorite tool to check for regexp:
http://www.quanetic.com/Regex (don’t forget to choose ereg(POSIX) instead of preg(PCRE)!)