cas登录后台验证账号来自ldap,需要批量导入账号到ldap,这个问题几经研究,最后方法如下:
先编写程序生成ldif格式文件,然后再在ldapadmin.exe程序或 phpldapadmin网页中导入这个ldif文件
1. 生成的ldif文件格式:
【空行】
dn: uid=20170109,ou=201701,ou=2017,ou=student,ou=people,dc=linbsoft,dc=com
cn:: 5ZGo56Kn5LqR
displayname:: 5ZGo56Kn5LqR
gidnumber: 0
givenname: 20170109
homedirectory: 20170109
mail: 20170109@linbsoft.com
objectclass: posixAccount
objectclass: top
objectclass: inetOrgPerson
sn: 20170109
uid: 20170109
uidnumber: 170109
userpassword: 8888
【空行】
dn: uid=20170108,ou=201701,ou=2017,ou=student,ou=people,dc=linbsoft,dc=com
cn:: 6ZmI54K8546J
displayname:: 6ZmI54K8546J
gidnumber: 0
givenname: 20170108
homedirectory: 20170108
mail: 20170108@linbsoft.com
objectclass: posixAccount
objectclass: top
objectclass: inetOrgPerson
sn: 20170108
uid: 20170108
uidnumber: 170108
userpassword: 1234
【空行】
2. 要注意空行和空格,不能多也不能少,另外,中文要用base64进行编码,关于密码,我这里是未加密的,如果要用加密,需要掌握ldap采用的加密算法,比如密码'"8888" 加密后是: “userPassword: {SHA}DdtYd8iW9D6HNOELAB5/Hrkoic0=” 但这并不是标准的sha1加密,网上说的sha1加密后再进行base64编码,也不对,至今未找到这个加密算法,暂时只能批量导入密码明码,如需要加密,然后再一个个账号去设置加密密码。
3. 在phpldapadmin界面,点击import ,把文件导入,或者直接把ldif文件内容复制粘贴上去,点击处理即可批量生成ldap账号。