之前那篇文章介绍了普通web项目中单点登录cas与权限管理框架shiro集成方式,这里说下spring项目中的集成方式,首先还是配置一个filter
<filter> <filter-name>shiroFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <init-param> <param-name>targetFilterLifecycle</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>shiroFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
然后就是shiro的spring bean配置,其实就是把之前的shiro.ini的东西配成spring的bean,shiro-config.xml文件如下:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd" default-lazy-init="true"> <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager"/> <!-- 设定角色的登录链接,这里为cas登录页面的链接可配置回调地址 --> <property name="loginUrl" value="https://www.cas.com/login?service=http://www.example.com/shiro-cas" /> <property name="filters"> <util:map> <!-- 添加casFilter到shiroFilter --> <entry key="casFilter" value-ref="casFilter"/> </util:map> </property> <property name="filterChainDefinitions"> <value> /shiro-cas = casFilter /admin/** = roles[ROLE_USER] /** = anon </value> </property> </bean> <bean id="casFilter" class="org.apache.shiro.cas.CasFilter"> <!-- 配置验证错误时的失败页面 --> <property name="failureUrl" value="/error.jsp"/> </bean> <bean id="casRealm" class="org.apache.shiro.cas.CasRealm"> <property name="defaultRoles" value="ROLE_USER"/> <property name="casServerUrlPrefix" value="https://www.cas.com"/> <!-- 客户端的回调地址设置,必须和下面的shiro-cas过滤器拦截的地址一致 --> <property name="casService" value="http://www.example.com/shiro-cas"/> </bean> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="realm" ref="casRealm"/> <property name="subjectFactory" ref="casSubjectFactory"/> </bean> <!-- 如果要实现cas的remember me的功能,需要用到下面这个bean,并设置到securityManager的subjectFactory中 --> <bean id="casSubjectFactory" class="org.apache.shiro.cas.CasSubjectFactory"/> <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="staticMethod" value="org.apache.shiro.SecurityUtils.setSecurityManager"/> <property name="arguments" ref="securityManager"/> </bean> </beans>
相关推荐
### 单点登录CAS与权限管理框架Shiro集成 #### 一、概述 单点登录(Single Sign-On,简称SSO)是一种常见的身份验证技术,它允许用户通过一次登录即可访问多个应用程序和服务。这种机制提高了用户体验,同时也简化...
CAS是一种集中式的身份验证服务,通过这个模块,Shiro能够与CAS服务器进行交互,实现单点登录(SSO)功能。 5. **shiro-web-1.7.1.jar**: Shiro的Web支持模块,用于处理HTTP请求的安全性。它提供了过滤器来处理如...
#### 以上就是单点登录管理的主要配置 ## 应用系统的配置node1 1. 应用系统采用shiro做权限控制,并且跟cas集成 2. 在/spring-node-1/src/main/resources/conf/shiro.properties 文件中 ``` properties shiro....
9. **shiro-cas-1.6.0.jar**:集成了CAS(Central Authentication Service)协议,这是一个开放源码的单点登录(Single Sign-On, SSO)系统。这个组件让Shiro能够与CAS服务器交互,实现跨域的用户认证。 通过这些...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。本项目基于SpringBoot、CAS5.x、Shiro和Pac4j实现了SSO集成,下面将详细阐述这些技术...
6. **shiro-cas-1.7.0.jar**:CAS(Central Authentication Service)客户端模块,提供了与CAS服务器的交互,支持单点登录(SSO)功能。 7. **shiro-jaxrs-1.7.0.jar**:JAX-RS(Java API for RESTful Web Services...
Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、加密和会话管理功能,为开发者提供了一种简单易用的方式来确保应用程序的安全性。在Java Web开发中,特别是使用SSM(Spring、SpringMVC、MyBatis)...
在IT行业中,单点登录(Single Sign-On, SSO)是一种常见的身份验证机制,它允许用户在一个系统上登录后,无需再次认证即可访问其他多个相互信任的系统。本项目是关于如何将CAS(Central Authentication Service)与...
综上所述,"springboot-shiro-cas.zip"项目为我们提供了一个实用的示例,展示了如何在SpringBoot应用中利用Shiro进行权限控制,并结合CAS实现单点登录。这不仅加深了我们对SpringBoot、Shiro和CAS的理解,也为实际...
集成CAS(Central Authentication Service)是为了实现单点登录(Single Sign-On, SSO)。CAS是一个开源的身份验证协议,允许用户在一个域内登录后,无需再次认证就能访问其他系统。这样可以提升用户体验,同时简化...
首先,CAS(Central Authentication Service)是一个开源的单点登录(Single Sign-On, SSO)服务器,它允许用户在一个应用中登录后,无须再次认证就能访问其他应用。CAS的核心功能是验证用户凭证并生成服务票证...
5. **CAS Integration**:CAS(Central Authentication Service)是一种开放源码的单点登录系统,Shiro的CAS模块使得应用可以与CAS服务器进行交互,实现单点登录功能。 6. **Caching**:Shiro提供了一种机制来缓存...
7. **shiro-cas-1.2.3.jar**:支持Central Authentication Service(CAS)协议,用于单点登录(SSO)场景。 8. **shiro-ehcache-1.2.3.jar**:提供了对Ehcache缓存系统的支持,用于会话和权限的持久化存储。 9. **...
Spring Boot 1.5.4集成Shiro+CAS实现单点登录和权限控制是一个常见的企业级应用需求,它能够提供用户认证和授权的功能,并通过CAS(Central Authentication Service)实现跨域单点登录。以下是实现这一功能的具体...
本项目"cas-shiro单点登录"是基于Spring框架,利用Apache Shiro安全库和Jasig CAS(Central Authentication Service)服务器实现的SSO解决方案。下面将详细介绍这个项目的实施过程和涉及的关键知识点。 首先,...
Spring Boot 1.5.4 集成 Shiro+Cas 实现单点登录和权限控制是指在 Spring Boot 应用程序中使用 Shiro 框架和 Cas 服务器来实现单点登录和权限控制的功能。 Shiro 简介 Apache Shiro 是一个开放源代码的安全框架,...
这个实例是专为初学者设计的,旨在帮助他们理解和实现基于CAS的单点登录(Single Sign-On, SSO)系统,同时结合Shiro进行权限管理和认证。下面我们将详细探讨这些技术以及它们如何协同工作。 **CAS (Central ...
本项目"springboot-casclient"旨在展示如何将SpringBoot与CAS相结合,实现单点登录,并结合Thymeleaf模板引擎和Shiro权限管理,构建一个完整的安全认证与授权解决方案。 首先,我们来深入理解SpringBoot集成CAS的...
总的来说,这个项目展示了如何利用CAS的单点登录功能,结合Spring MVC的控制能力以及Shiro的权限管理,实现一个全面的身份验证解决方案。对于学习和理解SSO机制以及相关技术的实践应用,这个项目提供了宝贵的参考。
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。本项目基于SpringBoot框架,结合Shiro、pac4j和CAS,构建了一个完整的JWT认证中心,...