在某大型外企实习,第一次一人独立开发一整个项目,从服务器到数据库到前后端的搭建都是一个人,所以遇到了形形色色的各类问题。
前后端用的Laravel的框架,在统一认证方面公司用的是LDAP。
用框架的好处在于github上有插件可以搜索,有如下插件
Ldap-connector、Adldap2 - Laravel
最后选用Adldap2-Laravel, 根据github上的项目指示在项目中使用插件。
配置(Config/adldap)文件下
ADLDAP_BASEDN 直接复制 DN
ADLDAP_CONTROLLERS 复制 DC
ADLDAP_ADMIN_USERNAME 即创建用户名(在我的项目中我需要加上@xxxxx.com)也可以看作是User Principal Name
ADLDAP_ADMIN_PASSWORD 自己创建的pwd
以上四条是必填选项。
配置完成后就可以尝试啦,Adlap::auth()>($name,$pwd),(在我的项目中我也要在$name后添加@xxx.com方可认证)
至此可以可以接收到true/false代表ok
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
项目在本地跑的好好的,上了服务器就发现报错。
报错原因cannot contact LDAP server
查百度,废。
查google,看到一条关于dns的回复,想起公司分配给服务器的ip是内网ip,并且一开始没给DNS。
于是PING公司的网址,发现不通。
遂询问Lab同事,问题还没问完已经写了一串DNS给我
配好DNS可以ping通公司网站和8.8.8.8
再次尝试认证,过!