cas 修改服务器ip,CAS 单点登录 服务器整合

概述

现在企业内部的系统越来越多,如果各个应用都有自己的用户系统,那么用户将不得不要记住不同系统的用户名密码,因此独立的用户系统应运而生,各个系统之间通过单点登录的方式,这样内部只需要记住一个用户名和密码,就可以自由的访问有权限的系统。

单点登录的实现

1.我们采用cas server 实现单点登录,下载地址是:

http://developer.jasig.org/cas/cas-server-4.0.0-release.zip

2.CAS 配置修改

将包解压,我们可以看到如下目录

46d16e2ccf45c1afda3807eaa19f1985.png

将war 文件进行解压。

1.去掉https验证。

CAS 默认认证方式使用的是HTTPS协议,一般对安全性不高的话建议取消改成HTTP方式。因为,开启的话会经常提示证书过期、需要用户确认等,对客户的感知不好,当前有需要的可以开启。

打开 cas-serverWEB-INFdeployerConfigContext.xml 文件 ,找到如下配置:

改成:

打开 cas-serverWEB-INFspring-configurationicketGrantingTicketCookieGenerator.xml ,找到如下配置:

改成:

打开 cas-serverWEB-INFspring-configurationwarnCookieGenerator.xml ,找到如下配置

改成

2.修改成数据库验证用户

在默认情况下,cas使用了固定用户进行登录,我们需要改成数据库用户的验证。

我们目前产品中使用了多租户的SAAS模式,因此用户名 为 帐号加 域名的形式 如 admin@mycine.cn

我们做如下修改:

1.在 WEB-INF 增加 数据库连接池的jar和 mysql驱动的jar包。

mysql-connector-java-5.1.34.jar

druid-1.0.26.jar

2.打开配置文件

WEB-INF/deployerConfigContext.xml

增加数据源配置:

修改验证方式:

这里SQL 我们自己定义。

修改密码加密方式

修改成 sha256的方式进行hash。

importjava.security.MessageDigest;importorg.apache.commons.codec.binary.Base64;importorg.jasig.cas.authentication.handler.PasswordEncoder;public class MyPasswordEncoder implementsPasswordEncoder {

@OverridepublicString encode(String pwd) {

String encPwd=encryptSha256(pwd);returnencPwd;

}privateString encryptSha256(String inputStr) {try{

MessageDigest md= MessageDigest.getInstance("SHA-256");byte digest[] = md.digest(inputStr.getBytes("UTF-8"));return newString(Base64.encodeBase64(digest));

}catch(Exception e) {return null;

}

}

}

修改QueryDatabaseAuthenticationHandler代码。

6e9b5043cf45e8e8b7e6f101e457576d.png

红框部分是修改的地方。

增加属性配置:

修改 WEB-INF/cas.properties 文件

增加配置如下:

db.url=jdbc:mysql://localhost:3306/mycine?useUnicode=true&characterEncoding=utf-8

db.username=root

db.password=root

db.minimumConnectionCount=10db.maximumConnectionCount=20

这样cas 就支持使用数据库进行用户验证了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值