之前集成了客户端的demo,也集成了spring。现在很多项目都开始使用springboot了。 spring的传统方式是在web.xml中配置。 Springboot和cas集成开发,主要是配置Springboot中的四个过滤器和一个监听器,其实和传统的配置方式没有太大区别。只需通过代码配置将 web.xml 配置更改为基于 javabean 的配置即可。此集成使用其他人编写的启动器。别人写的第三方starter,可以看源码。这很简单。我会自己写一个 sprigboot 来实现一个 starter。
整合后的目录如下:
与mybatis集成,使用jsp,写了一个添加用户的函数,这些代码如果没有,看源码,只记录如下配置。 lib包中的jar包就是本次使用的第三方starter。如果不使用maven,可以使用这个jar包。
集成过程
1.pom 添加依赖
4.0.0
iamlabs.unicon.net
cas-login-springboot-client2
0.0.1-SNAPSHOT
jar
cas-login-springboot-client2
A sample web application that exercises the CAS protocol features via the Java CAS Client.
org.springframework.boot
spring-boot-starter-parent
2.0.0.RELEASE
UTF-8
3.5.0
org.springframework.boot
spring-boot-starter-web
javax.servlet
jstl
org.apache.tomcat.embed
tomcat-embed-jasper
provided
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.0
mysql
mysql-connector-java
com.alibaba
druid
1.0.28
net.unicon.cas
cas-client-autoconfig-support
1.4.0-GA
org.jasig.cas.client
cas-client-core
org.jasig.cas.client
cas-client-core
${java.cas.client.version}
org.springframework.boot
spring-boot-starter-aop
cas-login-springboot-client2
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
UTF-8
org.apache.maven.plugins
maven-jar-plugin
true
lib
com.wangsaichao.cas.Application
./
config/**
maven-assembly-plugin
false
src/main/build/package.xml
make-assembly
package
single
2.应用程序。属性添加配置
#cas配置
#cas服务端前缀,不是登录地址
cas.server-url-prefix=https://server.cas.com:8443/cas
#cas的登录地址
cas.server-login-url=https://server.cas.com:8443/cas/login
#当前客户端的地址
cas.client-host-url=http://app2.cas.com:8082
#Ticket校验器使用Cas30ProxyReceivingTicketValidationFilter
cas.validation-type=CAS3
cas.validation-type 目前支持 3 种方法:1、CAS; 2、CAS3; 3、SAML你可以自己看源码,都是之前用过的类。
3.启用 CAS 客户端支持
@SpringBootApplication
//@PropertySource(value={"classpath:config/path.properties"},ignoreResourceNotFound=true,encoding="utf-8")
//@ImportResource("classpath:spring/*.xml")
//@EnableAspectJAutoProxy(proxyTargetClass = true,exposeProxy = true)
@EnableCasClient//开启cas
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
通过以上3个步骤,即可完成CAS客户端认证!
测试
注意:不能使用main方式启动,使用java -jar或者在命令窗口执行mvn clean spring-boot:run;否则找不到jsp。
关于springboot集成jspcas登录成功之后跳转的路径,可以参考我的另一篇博客:
开始测试
直接访问添加用户的路径:8082/
然后跳转到cas服务器登录
:8443/cas/login?service=http%3A%2F%2Fapp2.cas.com%3A8082%2F
登录后,操作成功。
然后浏览器输入添加用户的地址,跳转到添加成功页面。客户端1是上一篇集成的传统spring方式的客户端。可以在没有任何影响的情况下实现单点登录。也可以添加用户操作cas登录成功之后跳转的路径,集成成功。
暂无评论内容