cancel
Showing results for 
Search instead for 
Did you mean: 

problem with SSO and UNICODE username

inspiron82
Champ in-the-making
Champ in-the-making
Hi guys,
i'm using alfresco 3c.

I succesfully configured alfresco with SSO login chaining ntlm and ldap.

It works for every user but one that is like usernameù. Th problem is the character ù .

I investigated and the problem id in the class NTLMAuthenticationComponentImpl.
At the line :

authSess.doSessionSetup(username, lmPwd, ntlmPwd);

it throws a SMBException.

Can u help me?

Is there a way to let people with unicode character in the username to login using SSO?

thanks
3 REPLIES 3

mikel_asla1
Confirmed Champ
Confirmed Champ
And 5 years later here it come's the first reply to this post… ouu yeahh
Unfortunately is not to post the solution by the way Smiley Frustrated

I run to similar problem, after making Alfresco 4.2.c work with a custom external authentication. This custom authenticator is based on the SSOAuthenticationFilter that comes out-of-the-box with Share.
At this point, after doing some processing to my custom header (which is handled by an external system) I set this two session attributes when a valid request comes in

session.setAttribute(UserFactory.SESSION_ATTRIBUTE_KEY_USER_ID, userName);
session.setAttribute(UserFactory.SESSION_ATTRIBUTE_EXTERNAL_AUTH, Boolean.TRUE);

So everyone else in the authentication chain is aware that the session is valid, that's fine, works as spected for my user registry except for those wiht non-ascii characters in the username

for example

iñaki

is created as

i?aki


So, I tried

session.setAttribute(UserFactory.SESSION_ATTRIBUTE_KEY_USER_ID, URLEnconder.endode(userName));

which is deprecated, should be

session.setAttribute(UserFactory.SESSION_ATTRIBUTE_KEY_USER_ID, URLEnconder.endode(userName, "UTF-8"));

but then iñaki is created as

i\u00f1aki


This looks fine, but is not. The user home folder is created as i_u00f1aki


If I try to create a user with the Share Admin Console, I can create iñaki user, correctly stored like "iñaki" in the Alfresco Database, but that is happening in a diferent process, webscript talking to the repo to create the user.

Instead my user is created thanks to "createMissingPeople" boolean with says, ok the user is valid and doesn't exist, let's create it for you, which is finally handled by the PesonService.

So what is Alfresco repo specting in that session attibute to create "iñaki" username?

Thanks


mrogers
Star Contributor
Star Contributor
That's a Java String, it should not need "encoding".


If it doesn't work then please raise an issue in JIRA with as much information as possible.