Hi,各位高人。
我这里有一个开发需求,做一个调查网站,网站发布在互联网上,现在有个公司申请试用,他们在网站后台设计了自己的调查问卷,然后把问卷发给公司内部的员工做调查。
问题:内网用户在访问网站的时候,如何让用户不需要登录,网站应用自动得到内网用户的windows用户名呢?
使用LDAP调用。
http://netkiller.github.io/ldap/
第 4 章 Active Directory
通过ldapsearch查询Windows Active Directory 是一件很有趣事情。
列出所有员工姓名
ldapsearch -x -H ldap://192.168.19.238 -D neo.chen@company.com -w 12345678 -b 'OU=china,DC=company,DC=com' '(&(objectCategory=person)(objectClass=user)(company=*)(mail=*))'|grep '^name::' | awk -F ' ' '{print $2}' |base64 --decode | sed 's/)/)\r\n/g'
统计员工数目
ldapsearch -x -H ldap://192.168.19.238 -D neo.chen@company.com -w 12345678 -b 'OU=china,DC=company,DC=com' '(&(objectCategory=person)(objectClass=user)(company=*)(mail=*))'|grep '^name::' | wc -l
制作通讯录,或导出邮件列表
ldapsearch -x -H ldap://192.168.19.238 -D neo.chen@company.com -w 12345678 -b 'OU=china,DC=company,DC=com' '(&(objectCategory=person)(objectClass=user)(company=*)(mail=*))'|grep ^mail:|awk -F ' ' '{print $2}'
列出 name mail mobile telephoneNumber
ldapsearch -x -H ldap://192.168.19.238 -D neo.chen@company.com -w 12345678 -b 'OU=china,DC=company,DC=com' '(&(objectCategory=person)(objectClass=user)(name=*)(mail=*))' name mail mobile telephoneNumber