openEA开源周刊
openEA开源社区的官方运营载体
这里每天给大家呈现有价值的开源资讯,欢迎您的来稿与推荐,点击上方蓝色字,加入我们吧!
摘要:在信息技术和网络技术飞速发展的时代,企业内部的应用系统越来越多。除了给用户带来不少麻烦外,随着系统的增多,出错的可能性就会增加,受到非法截获和破坏的可能性也会增大,安全性就会相应降低。针对于这种情况,统一用户认证、单点登录等概念应运而生,同时不断地被应用到企业应用系统中。当然,openEA开源社区也不例外。
openEA开源社区(ID:openEA)| 出品
小夕 | 编辑
Emma | 改编
openEA程序猿 | 作者
openEA_WIKI | 来源
随着开源社区的迅猛发展,参与社区建设的伙伴逐渐增加,去年年底我们推出的公测版已不足以支撑起现状。其实从严格意义上面说,也不算是一个标准的社区,只是几个不同的应用系统(mediawiki,gitlab,osbpm)整合在一起。由于这些系统互相独立,用户在使用每个应用系统之前都必须按照相应的系统身份进行登录,为此必须记住每一个系统的用户名和密码。
为了进一步提供更好的服务,我们重新开发了社区门户,新增社区论坛和社区统一登录服务,打通不同子系统的障碍,统一开源社区用户管理,使得用户一键登录到各个系统,不需要再繁琐的重复登录。
今天,开源君给大家讲一下,咱们可爱的程序猿是怎样一步步解决社区统一认证问题的。(由于文章边幅限制,开源君仅展开部分内容,更多详情请登录wiki.openea.net,搜索“openEA开源社区统一认证方案”。)
社区统一认证方案设计
(统一认证方案设计图)
1、 CAS作为统一认证服务器;
2、 openLDAP用于统一用户认证,与CAS集成,记录统一认证的所有用户;
3、 用户管理模块放在osbpm上,即包含社区门户首页登录注册以及用户统一管理模块;
4、 知识百科、代码托管、社区论坛、项目服务、培训服务和社区门户与CAS统一认证处理。
CAS服务器搭建
CAS服务器可以作为统一认证中心,实现各大系统的单点登录功能,下面将介绍CAS服务器的搭建步骤,以CAS 5.3的搭建为例:
一、 搭建环境
搭建CAS服务器需要的环境:java环境、tomcat 8.0、maven 3.3.9。
二、 搭建步骤
1、 在https://github.com/apereo/cas-overlay-template下载代码;
2、 下载下来代码之后,cd 到项目根目录,执行 mvn clean install;
3、 把target文件夹中的CAS.war放到tomcat的根目录;
4、 浏览器能访问tomcat中CAS项目的目录即可成功部署。
LDAP服务搭建
openLDAP是轻型目录访问协议(Lightweight Directory Access Protocol)的自由和开源的实现,在其openLDAP许可证下发行,并已经被包含在众多流行的Linux发行版中。
一、 搭建版本
centos7、openldap 2.4.44、phpldapadmin 1.2.3;
二、 安装openLDAP
1、 yum 安装相关包;
2、 复制一个默认配置到指定目录下,并授权,这一步一定要做,然后再启动服务,不然生产密码时会报错;
3、 授权给ldap用户,此用户yum安装时便会自动创建;
4、 启动服务,先启动服务,配置后面再进行修改;
5、 查看状态,正常启动则ok。
三、 修改openLDAP配置与安装phpldapadmin
修改openLDAP配置与安装phpldapadmin涉及源代码,请前往wiki.openea.net查阅哦!
CAS与LDAP集成配置
首先需要保证已经安装了CAS服务器以及openLDAP服务器,这里以CAS5.3为例,初始安装的CAS的账号和密码是在配置文件中的,当然实际项目我们不可能放在配置文件中,这里我们介绍CAS与openLDAP的集成,使得CAS的认证信息来自openLDAP。
一、 重新编译cas以支持LDAP认证
cd /usr/local/cas-overlay-template-5.3
mvn clean //清除原来的编译
nano pom.xml // 修改编译配置文件
增加以下内容:
<dependency> <groupId>org.apereo.casgroupId> <artifactId>cas-server-support-ldapartifactId> <version>${cas.version}version> dependency>
保存后重新编译生成cas.war
mvn install //生成cas.war
重新将cas.war部署到tomcat中。
二、 修改配置文件
进入tomcat的cas\WEB-INF\classes\application.properties中修改与OpenLDAP集成的配置。
1、 注释掉配置中默认的账号密码:
# CAS Authentication Credentials
# cas.authn.accept.users=casuser::Mellon
2、 新增与OpenLDAP连接的配置:
重启tomcat即可使用OpenLDAP的账户进行登陆了。
# 认证方式
cas.authn.ldap[0].type=AUTHENTICATED
# LDAP服务地址,如果支持SSL,地址为 ldaps://127.0.0.1:689cas.authn.ldap[0].ldapUrl=ldap://127.0.0.1:389
# 是否使用SSLcas.authn.ldap[0].useSsl=false
# LDAP中基础DNcas.authn.ldap[0].baseDn=ou=People,dc=yaobili,dc=com
# 用户名匹配规则,简单的可以只写成uid={user}cas.authn.ldap[0].searchFilter=(|(uid={user})(mail={user})(mobile={user}))
# CAS用于绑定的DNcas.authn.ldap[0].bindDn=cn=admin,dc=yaobili,dc=com
# CAS用于绑定的DN的密码cas.authn.ldap[0].bindCredential=123456
# 登入成功后可以查看到的信息,此条可以不写cas.authn.ldap[0].principalAttributeList=sn,cn:commonName,givenName,eduPersonTargettedId:SOME_IDENTIFIER
以上是开源社区统一认证方案中CAS与LDAP的搭建与集成,下期开源君将继续为伙伴们介绍openEA门户与各大应用系统间的集成方案哦,欢迎持续关注我们!
END
/openEA
WIKI就是知识,开源就是力量
/企业应用
线上采购成新风口,开源软件选择正当时
扫码关注我们
新浪微博:@openEA开源社区