On 03/07/2013 01:25 PM, Tornóci László wrote:
On 03/07/2013 11:49 AM, Dirk Kastens wrote:
Hi,

seems that this was the wrong place.
Why? Did you truncate the oc_ldap_user_mapping table?
Could have been that something was left in the Cache, too.

Owncloud still used the UUID for
the user directory. Meanwhile I have changed line 431 in
user_ldap/lib/connection.php from

if(!in_array($this->config['ldapUuidAttribute'], array('auto',
'entryuuid', 'nsuniqueid', 'objectguid'))

to

if(!in_array($this->config['ldapUuidAttribute'], array('uid'))

and line 895 in user_ldap/lib/connection.php from

$testAttributes = array('entryuuid', 'nsuniqueid', 'objectguid');

to

$testAttributes = array('uid');

Now OC only uses the uid for the users and the directories.

Not only, but also to recognize users. If you want that, OK.

[Now some copy mess from the other mails, sorry]

Your problem was that from OC5 the LDAP entryUUID was used for #2,
right? For this you need to change the source for sure (perhaps at more
than one place).
Exactly.

Exactly this should have been achieved with my suggestion.

With the changes that I made, OC behaves like OC4, where users and directories 
are named after the users UIDs.

This was also the case with OC4.5 (depending on your config). However, those names always have been sanitized. Other characters but a-zA-z0-9 and four other chars have been replaced or thrown away, because of username limitiations in ownCloud.

Since OC 4.5 LDAP users are identified/recognized with their UUID attribute. This was necessary as anything else did not prove to be reliable enough and caused problems.

Now we switched to generally use the UUID also for the internal name, because displayed will only be the display name.

It would be great if this could be made configurable through the admin
interface. You just need to add a field like "unique attribute". Then it's up to the admin if he chooses the uid, the entryuuid, the uidnumber or whatever.

These are two things
1) customizable attribute for display name (will be sanitizied to meet ownCloud limitations). I think we can get it into 5.0.1, although I do not see it as a bug, but I understand that some are not so happy with this behaviour. 2) customizable UUID attribute to identify and recognize users. Honestly, I really love to keep it as it is, to avoid configuration disasters. But I agree it may be handy when there really is another unique attribute and it would solve migration headaches. Here we would also need to implement a mechanism, that updates all mapped users and groups. Since we have this policy since 4.5 and there were no complaints so far and it is another feature, this can be done only for OC 6.


Cheers
Arthur



Hi,

If I understand your problem correctly, you don't need to change the
source at so many places. There are many things here that can be easily
mixed up:
1. uid to login
2. internal ID for OC
3. user home dir path
4. display name

Your problem was that from OC5 the LDAP entryUUID was used for #2,
right? For this you need to change the source for sure (perhaps at more
than one place).

For #1 you can use any ldap attribute you like in "User login filter" of
the basic ldap setup

For #3 you can use "Group display name field" in the advanced setup
For #4 you can use "User home folder naming rule" in the advanced setup

                     Yours: Laszlo

You can patch it yourself by replacing
the line
https://github.com/owncloud/core/blob/master/apps/user_ldap/lib/access.php#L317




with
$intname = $isUser ? $this->sanitizeUsername($this->readAttribute($dn,
'uid')) : $this->sanitizeUsername($ldapname);

Great! I didn't know that this is that simple. I'll give it a try.

Dirk



_______________________________________________
Owncloud mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/owncloud


_______________________________________________
Owncloud mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/owncloud
_______________________________________________
Owncloud mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/owncloud

Reply via email to