On 7/30/07, Guillaume Lerouge
<guillaume(a)xwiki.com> wrote:
Hi Eric,
[snip..]
On the other hand, XWiki Users are currently
created in the XWiki space.
Your users are not created in that space because of the dots. One solution I
could see (though I'm definitely not on the tech side of things) would be to
write some kind of filter / adapter that would take the dots out of user
names before creating them (replacing eric.ter.haar with EricTerHaar) and
using that username for XWiki.
Not sure this helps a lot, but good luck!
I found (in my travails over the weekend) this handy code in
com.xpn.xwiki.XWiki:
public String getConvertingUserNameType(XWikiContext context)
{
if (context.getWiki().getXWikiPreference("convertmail", context) !=
null
&& context.getWiki().getXWikiPreference("convertmail",
context).length() > 0)
return context.getWiki().getXWikiPreference("convertmail",
"0", context);
return context.getWiki().Param("xwiki.authentication.convertemail",
"0");
}
public String convertUsername(String username, XWikiContext context)
{
if (username == null)
return null;
if (getConvertingUserNameType(context).equals("1") &&
(username.indexOf("@") != -1)) {
String id = "" + username.hashCode();
id = id.replaceAll("-", "");
if (username.length() > 1) {
int i1 = username.indexOf('@');
id =
"" + username.charAt(0) + username.substring(i1 + 1, i1 +
2)
+ username.charAt(username.length() - 1) + id;
}
return id;
} else if (getConvertingUserNameType(context).equals("2"))
return username.replaceAll("[\\.\\@]", "_");
else
return username;
}
In theory, you could use this instead of rolling your own. Both of
those are for converting
email addresses.. but the second would replace either dots or @ with _...
if the converting type is 1: strip the username from in front of the @ sign
if the converting type is 2: just replace @ and . with _
at least, that's how I read the code..
convertUsername is already called by processLogin, checkLogin,
getUserPage, inviteToGroup, and validateUser, so (in theory) you
shouldn't even have to hack code to get this to work -- just set the
right value in xwiki.cfg.
Thanks Erin, "xwiki.authentication.convertemail=2" did the trick!
--
Best regards,
Eric