Affects Version/s: 7.10
Component/s: User Profile / User Manager
User names are sanitized using the method IdUtils.generateId before being used to create the user workspace. This could cause problem when we follow this scenario:
- Create a user with username some@user
- The user is created, and its workspace is at path /default-domain/UserWorkspaces/some-user.
- Create a second user with username some-user.
- The user is created, but without a workspace, as the path /default-domain/UserWorkspaces/some-user is taken.
NXP-19103 has started to work on user workspace creation collision but is only effective when the user name length is greater than the max segment size.
We now generate the user workspace name based on the user id with no possible collision, using an escaping mechanism that escapes the few unwanted characters in paths and URLS (slash, backslash, ?, &, @, ; ) using a ~ and an hex code. If a user workspace was created previously, it will still be recognized and used; this applies only to new user workspaces.