关于LDAP的问题,希望用uid作为LDAP登录账号


#1

在ccnet.conf里面LOGIN_ATTR只能配置成 userPrincipalName 或者 mail,实际上就是只能用邮箱作为LDAP的账号
但是我现在用的是openDJ作为LDAP服务,在系统里面mail并不是唯一的,只有uid是全局唯一
如果用LOGIN_ATTR=mail,账号可以同步,但是无法登录,
虽然用户信息可以设定Login ID,这个只是在登录seafile用的id,后台在LDAP认证时候实际上还是用的mail作为账号(这个算bug?)
如果LOGIN_ATTR=uid,账号同步会失败
在用第一种方式同步成功之后手动修改数据库中,把email字段数据改成uid,可以登录成功,但是系统内用户信息管理功能失效,其他基本功能正常


#2

seafile的唯一字段是邮箱


#3

就我的情况,首先不想用mail作为登录id,因为mail太长了,输入不方便,就算是ad,在通常应用情况也是用ad\name来作为登录id而不是mail的形式
其次,没办法使用mail,因为ldap系统里面mail并不是唯一的,甚至有mail为空的账号,也有多个账号使用同一个mail的情况
通常的ldap系统里面uid不是唯一,dn是唯一的,或者其他guid也可以是唯一,但是通过插件实现uid是唯一的,所以uid才是最适合作为登录id

希望seafile在以后版本里能够增加相应设置,谢谢