CAS 下载地址 https://wiki.jasig.org/display/CASC/Home
Server版本:cas-server-3.5.2
Client版本:cas-client-3.1
SSL配置方式:
第一步:生成证书密钥
进入到cmd后输入
- keytool -genkey -alias tomcat -keystore mykeystore -keyalg RSA -validity 2000
根据提示输入密码:changeit,
您的名字与姓氏是什么?(这里一定要输入域名,本机测试输入localhost)
剩下的问题随便输入即可。
这是会在C:\Documents and Settings\Administrator目录下面生成一个mykeystore文件,继续输入
- keytool -export -alias tomcat -keystore mykeystore -file server.crt
密码也是输入changeit,操作成功的话会在目录下面生成一个server.crt的文件,接着执行
- keytool -import -alias tomcat -file server.crt -keystore %JAVA_HOME%/jre/lib/security/cacerts
密码输入完成后,确认正确即完成了密钥的创建。
第二步:配置应用服务器,我用的是Tomcat7
打开tomcat安装目录下的conf/server.xml,添加如下代码
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="C:/Users/Andy/mykeystore"
keystorePass="changeit"/>
第三步:部署CAS应用
解压缩cas-server-3.3.5-release.zip,在\cas-server-3.3.5\modules文件夹下有cas-server-webapp-3.3.5.war文件,为标准的WEB应用程序。发布之前,将文件重命名为cas.war,采用标准的war包发布方式进行应用发布。
每三步:重新cas里的密码认证方式为MD5
public class PasswordEncoder implements org.jasig.cas.authentication.handler.PasswordEncoder{
@Override
public String encode(String password) {
return MD5Encoder.getMD5Str(password);
}
}
将这个类打成jar包放到cas里的lib文件里
第四步:配置cas验证方式为数据库查询方式,将查询的sql指到你用到的用户表就好
从下载包中将cas-server-support-jdbc-3.3.5.jar文件复制与cas\web-inf\lib文件夹下。
该包提供了 3 个基于 JDBC 的 AuthenticationHandler,分别为 BindModeSearchDatabaseAuthenticationHandler, QueryDatabaseAuthenticationHandler, SearchModeSearchDatabaseAuthenticationHandler
我们这里使用的是QueryDatabaseAuthenticationHandler,它是通过配置一个 SQL 语句查出密码,与所给密码匹配
根据密码加密方式的不同,实现PasswordEncoder接口,来对输入的密码进行加密才能与数据库中的密码比较。
新增com.ist.cas.CASPasswordEncoder.java类, implements PasswordEncoder接口,数据库密码采取MD5算法加密:
具体如上一步
// MD5密码加密 public String encode(String strSource) { MD5 theMD5 = new MD5(); String strPassMD5 = theMD5.getMD5ofStr(strSource); return strPassMD5; } |
修改cas\web-inf\ deployerConfigContext.xml文件:
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="dataSource" ref="casDataSource" /> <property name="sql" value="select password from tb_user where login_name = ?" /> <property name="passwordEncoder" ref="myPasswordEncoder"/> </bean> |
数据源和密码加密bean配置如下:
<bean id="myPasswordEncoder" class="com.ist.cas.CASPasswordEncoder"/> <bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>oracle.jdbc.driver.OracleDriver</value> </property> <property name="url"> <value>jdbc:oracle:thin:@192.168.99.98:1521:FIDWDB</value> </property> <property name="username"> <value>funduser</value> </property> <property name="password"> <value>funduser</value> </property> </bean> |
相关推荐
3. **集成CAS客户端**:添加CAS客户端库到项目中,如`cas-client-support-springboot`或`cas-client-support-spring`。在Spring配置文件中声明`CasClientConfigurer`和`CasFilter`,并配置CAS服务器的URL、服务验证...
cas版本3.4.0,spring security版本3.1.4,经测试可用!
3. **定义Service Provider**:在CAS服务器上,为Spring Boot应用注册为服务提供者,定义服务ID和服务URL,以便CAS能识别并处理来自该应用的请求。 4. **处理认证和授权**:当用户访问受保护的资源时,Spring ...
在本文中,我们将深入探讨如何进行CAS的入门实践以及如何将Spring Security与CAS进行集成。 **一、CAS入门** 1. **CAS服务器安装** CAS服务器是整个SSO流程的核心,负责用户的身份验证。下载CAS服务器的最新稳定...
**Spring Security集成CAS客户端实例详解** 在Web应用中,安全是至关重要的,Spring Security和CAS(Central Authentication Service)是两种广泛使用的安全框架。本实例旨在展示如何将Spring Security与CAS结合,...
Spring Boot 集成 Shiro 和 CAS 本文将详细介绍 Spring Boot 集成 Shiro 和 CAS 的知识点,帮助读者了解 Shiro 和 CAS 的概念、使用方法,以及它们在 Spring Boot 中的集成方式。 Shiro 介绍 Shiro 是一个开源的 ...
本项目是关于前后端分离集成CAS(Central Authentication Service)的一个实例,主要使用了Spring Boot、Shiro、Oracle数据库以及Vue.js等技术。 首先,Spring Boot是基于Spring框架的轻量级开发工具,它简化了新...
cas是Central Authentication Service的简写.提供中央认证服务,实现企业级单点登录.详细参考:http://blog.csdn.net/xiejx618/article/details/51703469
将CAS与Spring Boot集成,我们可以实现一个高效、安全的身份验证解决方案,尤其适用于拥有多个子系统的大型企业或组织。 集成CAS和Spring Boot主要涉及以下几个关键知识点: 1. **CAS服务器配置**: CAS服务器是...
本项目基于SpringBoot、CAS5.x、Shiro和Pac4j实现了SSO集成,下面将详细阐述这些技术组件以及它们在SSO中的作用。 1. **SpringBoot** SpringBoot是Spring框架的一个子项目,它简化了Spring应用的初始搭建和运行...
Spring可以方便地与其他框架如CAS和Shiro集成,提供一站式的解决方案。 在这个实例中,你将看到如何在Spring环境中集成CAS和Shiro。首先,你需要配置Spring以连接到CAS服务器,并处理票证验证。这通常涉及设置`...
SpringBoot+Security+Cas是一个集成解决方案,用于构建安全的Web应用程序。这个Demo是为那些希望了解如何在Spring Boot应用中整合Spring Security和CAS(Central Authentication Service)服务的开发者准备的。下面...
Spring Boot 使用 Spring Security 集成 CAS Spring Boot 是一个基于 Java 的开源框架,用于快速构建生产级别的应用程序。Spring Security 是一个基于 Spring 的安全框架,提供了身份验证、授权和访问控制等功能。...
Spring Boot 整合 CAS Client 实现单点登录验证的示例 Spring Boot 整合 CAS Client 是一种流行的解决方案,用于实现单点登录(Single Sign-On,简称 SSO)。在多个应用系统中,用户只需要登录一次就可以访问所有...
标题中的"Spring Security 3 与 CAS 单点登录配置-Server"涉及到的是在Java Web开发中使用Spring Security 3框架集成Central Authentication Service (CAS)实现单点登录(Single Sign-On, SSO)的服务器端配置。...
如果security.basic.enabled=true ,则与Basic身份验证集成,可让您使用标题Authorization: Basic ...以及CAS进行身份验证 RestTemplate集成 建立 将Spring Boot Starter添加到您的项目 < groupId>...
3. **CAS客户端配置**:在应用中集成CAS作为SSO的客户端,需要在Spring Security的配置中加入CAS的相关配置,如指定CAS服务器地址、服务验证URL等。同时,配置CAS过滤器以处理用户的身份验证请求。 4. **Spring ...
**三、CAS与Spring Security集成** 1. **配置CAS服务器** - 安装并配置CAS服务器,通常使用Apache Tomcat作为容器。 - 下载CAS服务端代码,配置相关的认证策略,如用户名密码验证、LDAP验证等。 - 配置CAS服务端...
- 创建一个Spring MVC Controller,处理用户的登录请求,重定向到CAS服务器的登录页面。 - CAS服务器验证用户后,会将用户重定向回你的应用,附带一个服务票证(ST)。 - 应用通过这个ST向CAS服务器发送验证请求...