需求是准备搭建一个内部分享的网站,本地有域控服务器,电脑都已入域,需要在访问网站的时候自动通过域账号登录。
站点好说,开源的,免费的都挺多,关键是实现域账号登录。
1、discuz测试
discuz官方的应用中心,有付费的ldap插件,价格较高,不建议使用。最主要的是插件描述中只有一个设置页面,完全看不到其他内容,我也联系了插件制作方,回复可以通过域账号登录,但没法实现自动登录,从沟通中我也看出来了,这个插件完全不值得买,甚至这个作者的所有作品都不值得买,给大家避雷了。
discuz不知道是没落了还是躺平了,discuz Q也基本是断更状态,其他的discuz相关的ldap插件几乎没有,但还是让我找到一个(http://www.codeeel.com/?p=365),可以直接在作者网站下载,不过已经好几年没更新了,有兴趣的可以自己测试,我在X3.4版本测试没有成功,建议在X3.0版本测试。我也尝试联系了作者本人,但没有回复。
从作者放出的截图可以看出功能还是做的不错的,包括有专门的AD登录入口及账号绑定,但看起来也没法实现域账号自动登录。
2、joomla
joomla算是国外比较或的cms程序了,门槛也比较低,特别是自带LDAP组件,配置起来比较方便,但是测试了4.1版本,配置后一直登录不成功,在joomla论坛搜了下,发现大部分都是说4.X版本不行的,可以试试3.X版本,另外还推荐使用JMapMyLDAP。
先下载了3.4版本,测试自带的LDAP设置后也无法成功通过域账号登录,于是下载了JMapMyLDAP(https://shmanic.com/tools/jmapmyldap/download.htm),这个插件也是很久没更新了,更新时间和3.4版本差不多,但是功能出乎意料的齐全,也支持SSO自动登录,网站也有详细的设置教程。
3、drupal
drupal在国外也是广泛使用,但是比joomla门槛高点,关于ldap也有插件可以实现,可以到官方搜索一下,做的比较好的是miniorange这个,专门做登录认证的,除了drupal,还有joomla,wordpress等等很多程序的插件,功能非常完善,但免费版本功能较少,甚至都不包含自动注册,付费版本价格过于高了。但好在我在联系了他们官网的邮箱后很快给了我回复,而且十分专业,给我发了测试版,支持域账号自动注册,SSO单点登录,下面分享出来,但有测试时间期限,不确定还可以使用。
drupal ldap_auth插件(全功能版),提取码:xy8b
4、wordpress
WP不愧是博客,CMS开源程序的顶流,LDAP相关的插件最多,对比后我选择了Next Active Directory Integration,免费版功能已经足够多,包含域账号自动登录,设置权限,双向同步等,已经满足要求,和收费的miniorange几乎差不多,而相比JMapMyLDAP的几年不更新,Next Active Directory Integration一个月前刚更新,官网有详细的设置教程。
综上,这些插件都有自带的设置教程,非常详细,只不过都是英文,浏览器翻译一下也能正常阅读,只不过设置的时候也经历了一些错误和经验,可以分享出来。
此外想要实现浏览器打开网址自动登录,还需要服务器端配合做一些设置,这里不建议使用nginx,没有找到相关设置教程。linux和windows端的apache需要单独加载模块,但我在centos apache环境下加载ntml模块出错了,而windows iis环境下,只需要在iis做一些设置就行了,比较简便。此外本地ie浏览器也需要做一些设置,后面有空了也单独写一篇相关设置吧。