CAS之5.2x版本存储Ticket到redis-yellowcong
2018-02-06 14:52
316 查看
默认情况下,cas是将票据信息存储到内存中,我们可以将票据存储到redis服务器中,cas采用的spring data redis 来控制redis,将票据存储到redis需要两个步骤:1、配置cas关于redis的依赖,2、配置application.properties,添加redis的配置信息。就两部,就完成了redi与cas的搞基。
搭建redis环境
我这个本来是window的,我也懒得搞linux的redis了,直接就window上面搞了。如过想看linux的可以参考文章Redis之单机安装-yellowcong#window下载安装包 http://yellowcong.qiniudn.com/redis-windows-master.zip[/code]源码地址
https://gitee.com/yellowcong/springboot_cas/tree/master/cas-server-redis导入依赖
导入redis的配置依赖<!-- cas 的redis依赖 --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-redis-ticket-registry</artifactId> <version>${cas.version}</version> </dependency>
下面是pom.xml的完整配置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <modelVersion>4.0.0</modelVersion> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-login</artifactId> <packaging>war</packaging> <version>1.0</version> <dependencies> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-webapp${app.server}</artifactId> <version>${cas.version}</version> <type>war</type> <scope>system</scope> <optional>true</optional> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/cas-server-webapp-tomcat-${cas.version}.war</systemPath> </dependency> <!-- 自定义认证的方式 begin --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-webflow</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-authentication</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-webapp-config</artifactId> <version>${cas.version}</version> <scope>provided</scope> </dependency> <!-- MYSQL --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-redis-ticket-registry</artifactId> <version>${cas.version}</version> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>com.rimerosolutions.maven.plugins</groupId> <artifactId>wrapper-maven-plugin</artifactId> <version>0.0.4</version> <configuration> <verifyDownload>true</verifyDownload> <checksumAlgorithm>MD5</checksumAlgorithm> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${springboot.version}</version> <configuration> <mainClass>${mainClassName}</mainClass> <addResources>true</addResources> <executable>${isExecutable}</executable> <layout>WAR</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <!-- 添加依赖的插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>copy-dependencies</id> <phase>compile</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory> <includeScope>system</includeScope> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.1.0</version> <configuration> <warName>cas</warName> <failOnMissingWebXml>false</failOnMissingWebXml> <recompressZippedFiles>false</recompressZippedFiles> <archive> <compress>false</compress> <manifestFile>${manifestFileToUse}</manifestFile> </archive> <overlays> <overlay> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-webapp${app.server}</artifactId> </overlay> </overlays> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> </plugin> </plugins> <finalName>cas</finalName> </build> <properties> <cas.version>5.2.1</cas.version> <springboot.version>1.5.8.RELEASE</springboot.version> <!-- app.server could be -jetty, -undertow, -tomcat, or blank if you plan to provide appserver --> <app.server>-tomcat</app.server> <mainClassName>org.springframework.boot.loader.WarLauncher</mainClassName> <isExecutable>false</isExecutable> <manifestFileToUse>${project.build.directory}/war/work/org.apereo.cas/cas-server-webapp${app.server}/META-INF/MANIFEST.MF</manifestFileToUse> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <repositories> <repository> <id>sonatype-releases</id> <url>http://oss.sonatype.org/content/repositories/releases/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> <repository> <id>sonatype-snapshots</id> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> <snapshots> <enabled>true</enabled> </snapshots> <releases> <enabled>false</enabled> </releases> </repository> <repository> <id>shibboleth-releases</id> <url>https://build.shibboleth.net/nexus/content/repositories/releases</url> </repository> </repositories> <profiles> <profile> <activation> <activeByDefault>true</activeByDefault> </activation> <id>exec</id> <properties> <mainClassName>org.apereo.cas.web.CasWebApplication</mainClassName> <isExecutable>true</isExecutable> <manifestFileToUse></manifestFileToUse> </properties> <build> <plugins> <plugin> <groupId>com.soebes.maven.plugins</groupId> <artifactId>echo-maven-plugin</artifactId> <version>0.3.0</version> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>echo</goal> </goals> </execution> </executions> <configuration> <echos> <echo>Executable profile to make the generated CAS web application executable.</echo></echos> </configuration> </plugin> </plugins> </build> </profile> <profile> <activation> <activeByDefault>false</activeByDefault> </activation> <id>pgp</id> <build> <plugins> <plugin> <groupId>com.github.s4u.plugins</groupId> <artifactId>pgpverify-maven-plugin</artifactId> <version>1.1.0</version> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> <configuration> <pgpKeyServer>hkp://pool.sks-keyservers.net</pgpKeyServer> <pgpKeysCachePath>${settings.localRepository}/pgpkeys-cache</pgpKeysCachePath> <scope>test</scope> <verifyPomFiles>true</verifyPomFiles> <failNoSignature>false</failNoSignature> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>配置redis到cas
跟多配置可以查看管网:https://apereo.github.io/cas/5.2.x/installation/Configuration-Properties.html#redis-ticket-registry1、不设定密码的情况
这个地方配置的时候,redis没有设置密码。##redis的服务器地址 cas.ticket.registry.redis.host=127.0.0.1 # ## 选择第一个redis数据库 cas.ticket.registry.redis.database=0 # ## redis端口 cas.ticket.registry.redis.port=63792、设置密码的情况
##redis的服务器地址 cas.ticket.registry.redis.host=127.0.0.1 # ## 选择第一个redis数据库 cas.ticket.registry.redis.database=0 # ## redis端口 cas.ticket.registry.redis.port=6379 #redis密码 cas.ticket.registry.redis.password=yellowcong #超时设置 cas.ticket.registry.redis.timeout=2000 cas.ticket.registry.redis.useSsl=false #不设置redis线程池 cas.ticket.registry.redis.usePool=false
这个密码需要和redis的配置一致,如果没有密码,可以不用设置。测试登录
我们先通过网站登录,然后手动清空session,通过flushall清空session里面的数据,看服务器是否session退出,然后跳转到登录界面。参考文章
http://blog.csdn.net/gobitan/article/details/77689776
https://apereo.github.io/cas/5.2.x/installation/Redis-Ticket-Registry.html
https://apereo.github.io/cas/5.2.x/installation/Configuration-Properties.html#redis-ticket-regisry
相关文章推荐
- CAS之5.2x版本之REST验证ticket(跨系统访问资源)-yellowcong
- CAS之5.2x版本自定义登录,多数据源登录-yellowcong
- CAS之5.2x版本配置密码加密(MD5和SHA)-yellowcong
- CAS之5.2x版本自定义返回消息-yellowcong
- CAS之5.2x版本之jdbc配置多返回值-yellowcong
- CAS之5.2x版本之中文返回值乱码问题-yellowcong
- CAS之5.2x版本之客户端集成(Springboot)-yellowcong
- CAS之5.2x版本之服务器开发调试(eclipse调试cas)-yellowcong
- 基于CAS的单点登录SSO[3]: 改造cas-overlays-template支持Redis存储Ticket
- CAS之5.2x版本之服务管理-yellowcong
- CAS之5.2x版本之客户端集成(传统web项目)-yellowcong
- CAS之5.2x版本自定义登录页面-yellowcong
- CAS之5.2x版本之通过yml的方式配置cas-yellowcong
- CAS之5.2x版本自定义密码验证-yellowcong
- CAS之5.2x版本之单点登录退出-yellowcong
- CAS之5.2x版本之Ajax方式提交表单-yellowcong
- CAS之 5.2x版本配置数据库认证-yellowcong
- CAS之5.2x版本自定义JDBC认证-yellowcong
- CAS之5.2x版本登录验证码-yellowcong
- CAS之5.2x版本单点登录服务安装-yellowcong