博客分类:* security
阅读更多
SpringSecurity 3.1 与 CAS 集成的配置文件及说明
注:
1、testSecurityMetadataSource为自定义,实现用户访问url与role对应关系的查询和验证。
2、testUserDetailServiceProxy为自定义,根据用户的用户id,查询用户详细信息的功能。
<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<!\-\- CAS验证配置。-->
<!\-\- 适用环境:用户身份验证由CAS完成,用户是否有权限访问指定url则由业务系统来负责验证 -->
<!\-\- 验证过程:1.用户访问受限的url,springsecurity 将请求转发到cas服务器上 -->
<!\-\- 验证过程:2.用户在cas服务器上登录,cas服务器将验证返馈信息返回给应用 -->
<!\-\- 验证过程:3.用户登录成功后,继续是行下面的验证过滤器testFilterSecurityInterceptor的验证,如果用户拥有访问url的指定角色,则转发到目标url,否则转发到禁止访问页面。-->
<!--
Enable security, let the casAuthenticationEntryPoint handle all intercepted urls. The CAS_FILTER needs to be in the
right position within the filter chain.
\-\->
<!\-\- 在http标签上添加entry-point-ref 指定验证入口为 casAuthenticationEntryPoint -->
<security:http entry-point-ref="casAuthenticationEntryPoint" auto-config="false" pattern="/**">
<!\-\- 设置所有url访问需要包括角色ROLE_USER,可选。 -->
<security:intercept-url pattern="/**" access="ROLE_USER"></security:intercept-url>
<!\-\- 在验证链中添加cas的过滤器,用于进行cas验证。 -->
<security:custom-filter position="CAS_FILTER" ref="casAuthenticationFilter"></security:custom-filter>
<!\-\- 添加自定义url权限的验证过滤,放在FILTER\_SECURITY\_INTERCEPTOR前面,用于进行验证当前用户是否拥有访问指定url的权限。 -->
<security:custom-filter before="FILTER\_SECURITY\_INTERCEPTOR" ref="testFilterSecurityInterceptor"></security:custom-filter>
</security:http>
<!\-\- 定义资源权限验证的过滤器。 -->
<bean id="testFilterSecurityInterceptor" class="org.springframework.security.web.access.intercept.FilterSecurityInterceptor">
<!\-\- 身份验证器 -->
<property name="authenticationManager" ref="authenticationManager" />
<!\-\- 访问决策器 -->
<property name="accessDecisionManager" ref="testAccessDecisionManager" />
<!\-\- 获取可访问资源的role列表 -->
<property name="securityMetadataSource" ref="testSecurityMetadataSource" />
</bean>
<!\-\- 访问决策器 -->
<bean id="testAccessDecisionManager" class="org.springframework.security.access.vote.AffirmativeBased">
<constructor-arg index="0">
<list>
<bean class="org.springframework.security.access.vote.RoleVoter">
<property name="rolePrefix" value=""></property>
</bean>
</list>
</constructor-arg>
</bean>
<!\-\- 获取可访问资源的role列表 -->
<bean id="testSecurityMetadataSource" class="com.balance.test.integeration.acegi.AutoDelegatingSecurityMetadataSource" />
<!--
Required for the casProcessingFilter, so define it explicitly set and specify an Id Even though the
authenticationManager is created by default when namespace based config is used.
\-\->
<!\-\- 身份验证器 -->
<security:authentication-manager alias="authenticationManager">
<!\-\- CAS身份验证器 -->
<security:authentication-provider ref="casAuthenticationProvider"></security:authentication-provider>
</security:authentication-manager>
<!--
This section is used to configure CAS. The service is the actual redirect that will be triggered after the CAS login
sequence.
-->
<bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties">
<!--
http://localhost:8088/具体应用/j\_spring\_cas\_security\_check spring的虚拟URL,此标志标识使用 CAS authentication (upon return from CAS
SSO login.)
-->
<property name="service" value="http://PCNAME:8080/test/j\_spring\_cas\_security\_check"></property>
<property name="sendRenew" value="false"></property>
</bean>
<!--The CAS filter handles the redirect from the CAS server and starts the ticket validation.-->
<bean id="casAuthenticationFilter" class="org.springframework.security.cas.web.CasAuthenticationFilter">
<property name="authenticationManager" ref="authenticationManager"></property>
</bean>
<!--
The entryPoint intercepts all the CAS authentication requests. It redirects to the CAS loginUrl for the CAS login
page.
-->
<bean id="casAuthenticationEntryPoint" class="org.springframework.security.cas.web.CasAuthenticationEntryPoint">
<!\-\- SSO登录地址 -->
<property name="loginUrl" value="https://PCNAME:8443/cas/login"></property>
<property name="serviceProperties" ref="serviceProperties"></property>
</bean>
<!--Handles the CAS ticket processing.-->
<bean id="casAuthenticationProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider">
<property name="authenticationUserDetailsService" ref="casAuthenticationUserDetailsService" />
<property name="serviceProperties" ref="serviceProperties"></property>
<property name="ticketValidator">
<bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">
<!\-\- SSO验证地址 -->
<constructor-arg index="0" value="https:/PCNAME:8443/cas" />
</bean>
</property>
<property name="key" value="cas"></property>
</bean>
<!\-\- userdetail service cas wrapper -->
<bean id="casAuthenticationUserDetailsService" class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
<property name="userDetailsService">
<ref bean="testUserDetailServiceProxy" />
</property>
</bean>
<!\-\- userdetailService 定义 -->
<bean id="testUserDetailServiceProxy" class="com.balance.test.integeration.acegi.AutoDelegatingUserDetailService">
<property name="reservedUsernamePrefixs" value="admin,manager,user" />
</bean>
</beans>
[
面试时如何在众多Java工程师中脱颖而出?
Java 程序员必备的知识盘点, Java从小白到大牛的学习规划!
字体颜色: 标准深红红色橙色棕色黄色绿色橄榄青色蓝色深蓝靛蓝紫色灰色白色黑色 字体大小: 标准1 (xx-small)2 (x-small)3 (small)4 (medium)5 (large)6 (x-large)7 (xx-large) 对齐: 标准居左居中居右
提示:选择您需要装饰的文字, 按上列按钮即可添加上相应的标签
(快捷键 Alt+S / Ctrl+Enter)
SpringSecurity _3.1_ 与 CAS _集成_的_配置文件_及_说明_ 注: 1、testSecurityMetadataSource为自定义,实现用户访问url与role对应关系的查询和验证。 2、testUserDetailServiceProxy为自定义,根据用户的用户id,查询用户详细信息的功能。 <?xml version="1.0"?&...
最近项目中需要_集成_单点登录,所以最近研究了下,同时也在前面的章介绍了_cas_服务端的搭建,接下来security 集成__cas 亲测可行,网上也是有很多不完整的代码,免得误导大家 1.web.xml配置 kun-web contextConfigLocation classpath:webApplication.xml,classpath:application
1、Spring Security测试工程搭建(1)建立Maven项目_cas_client_demo3 ,引入spring依赖和spring secrity 相关依赖 ,tomcat端口设置为9003。(2)建立web.xml ,添加过滤器等配置。(3)创建_配置文件_spring-security.xml。 (4)添加html页面。2、Spring Security与 _CAS__集成_ (1)引入依赖...
代码下载地址 没法上传不要积分的,,我也很无奈 https://download.csdn.net/download/drsbbbl/10636024 _cas_和spring security的整合 单点登录_cas_从部署到应用和_cas_和spring security的整合 ------1 https://blog.csdn.net/drsbbbl/article/details/82193...
在学习security的过程中接触到了_cas_,并学习了_cas_的配置和整合security _Cas_服务器端的配置 一、使用java keytool工具为系统生成Https证书,并注册 1.删除已有的证书 C:\Program Files\Java\jdk1.6.0_10\bin>keytool -delete -alias tomcat(随意起的别名) -keystore
代码下载地址 没法上传不要积分的,,我也很无奈 https://download.csdn.net/download/drsbbbl/10636024 单点登录_cas_从部署到应用和_cas_和spring security的整合 ------2 https://blog.csdn.net/drsbbbl/article/details/82217245 单点登录_cas_从部署到应用和_cas_和sp...
最近因为工作的需要,对spring security和_cas_的_集成_进行了比较细致的研究,通过跟踪源代码,大致了解了其工作流程,画了两张时序图,反应了整个的认证过程。期间的流程比较复杂,整理以后,我会把源代码的分析传上来。 [img]http://dl.iteye.com/upload/attachment/481100/6986cf5a-d7dd-33d3-a86c-c8813a2005a8...
CAS_+Spring security实现单点登录之配置篇分清Spring security和_CAS_的职责_CAS_做了个啥 单点认证(自己YY的名词,懂就行):在_CAS Server认证后,各Client都认 对不起,没其他的了,其他都是Spring security干的事情! Spring security的默默奉献 认证各个请求,认证不过,就去做身份认证 此处占两个灰常灰常重要的坑:
spring security使用_cas_单点登录配置
咱们接着上一篇的入门接着做4. CAS 客户端与 SpringSecurity _集成_ 4.1 Spring Security 测试工程搭建 (1)建立 Maven 项目 cas_client_demo3 ,引入 spring 依赖和 spring secrity 相关依赖 ,tomcat 端口设置为 9003 (2)建立 web.xml ,添加过滤器等配置 (3)创建_配置文件 spring-secu...
CAS 单点登录登出 https://blog.csdn.net/Thor_Selen_Liu/article/details/81201333 _SpringSecurity_框架 — — 安全校验 https://blog.csdn.net/Thor_Selen_Liu/article/details/81220568 前言: 通过前面两个知识点的学习,下面我们介绍,将两个知识点进行...
一、单点登录_CAS_介绍 1.1 什么是单点登录_CAS_ 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 1.2 单点登录的应用场景 在系统的开发过程中,如果个系统包含多个子系统,而这些子系统又共用一个认证数据库(可以理解为多个子系统登录的用户信息都保存在一个数据...
_cas_是Central Authentication Service的简写.提供中央认证服务,实现企业级单点登录.详细参考:http://blog.csdn.net/xiejx618/article/details/51703469
问题描述:在_集成__cas_后,如果在A应用里面直接调用B应用的某个页面,第一次点击的时候总是会跳转到B应用设置的默认页面,然后再点击的时候,才能跳转到正确的页面。 后来通过查看源码,发现 [code="java"]类:org.springframework.security.web.authentication.AbstractAuthenticationTargetUrlRequestHan...
单点登陆图解 当服务器向_CAS_ Client(我们自己的应用)发送请求的时候,应用会重定向到_CAS_服务器,然后验证服务器是否登入,如果没登陆会跳转到_CAS_服务器的登陆页面进行验证,如果登陆则会将票据一起携带到我们自己的应用,我们的服务器会验证票据是否正确,如果正确则访问成功,并将用户信息返回到我们的应用,如果票据错误则会报异常。 _springSecurity_与_CAS_整合原理图解 Exceptio...
springsecurity_整合_cas _springsecurity_的_springsecurity_filterchian中有一个_cas_的拦截器位置,因此可以通过它把_cas_整合进_springsecurity_中 _cas_负责认证,security通过userDetails负责加载权限,通过认证管理器赋予权限 所以在_springsecurity_的configeration没有太多变化,变化的地方如下:...
1.1. https协议改成http 1.1.1. _cas_服务端改以下文件支持http协议 主要改进以下_配置文件_: 1) ticketGrantingTicketCookieGenerator.xml _配置文件_ p:cookieSecure="false" p:cookieMaxAge="-1" p:rememberMeMaxAge="120960"
springboot+security+_cas__集成_demo。。
SpringBoot+Security+_Cas_ 的一个Demo,想学习的可以参考下
主要功能如下: ===== 1、数据库 ====== Druid数据库连接池,监控数据库访问性能,详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。 数据库密码加密。 2、持久层 ====== mybatis持久化,PageHelper分页。Transtraction注解Jta事务。 3、MVC ====== 基于spring mvc注解。Exception统一管理。 spring security权限管理。 aop日志记录。 4、调度 ====== Spring task, 可以查询已经注册的任务。立即执行一次任务。 5、缓存和Session =========== 注解redis缓存数据,Spring-session和redis实现分布式session同步(建议按功能模块划分系统)。 6、日志 =========== logback打印日志,业务日志和调试日志分开打印。同时基于时间和文件大小分割日志文件。 9、项目构建 =========== mybatis generator生成mybatis映射文件。 请先安装eclipse mybatis-generator插件。 10、其它 =========== >####_说明_:启动项目前请安装Redis,并启动服务,系统中均使用默认配置。 打war包:(dev、test、prod)指定_配置文件_ mvn clean package -Dmaven.test.skip=true -P test
1.1 什么是单点登录 简单来说,单点登录(Single Sign on)简称sso,sso的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 我们目前的系统存在诸多的子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来实现。 1.2 什么是_CAS_ _CAS_(Central Au...
今天整合的业务系统使用了Spring-Security框架,并且_集成_了_CAS_-Client,_CAS_的版本是3.4 在_CAS_的单点注销下,原理是_CAS_在注销模块中,通过使用各个业务系统认证时所提供的URL做为路径逐个再去反向访问各个业务系统,发送的是POST请求,那么各个业务系统的_CAS_-CLIENT接受到该请求后,从请求内容中分解出票据,然后依据票据找到之前已经保存好的session,最后执
1、问题描述:用户输入用户名/密码 进行登陆,然后点击退出操作回到登陆页面再次进行登陆,登陆页会闪现一次并没有任何提示,这种问题出现的概率不确定,且不定时。 2、_cas_服务器的后台日志如下:2017-06-30 10:53:21,567 INFO [com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Audit t
1 问题已在csdn论坛上讨论:https://bbs.csdn.net/topics/392440272 各种思路探讨: 1 将单点登录过滤器放在最前边 2 重新更换注册地址 3 将登出地址设置成无限制访问 4 重写_cas_server 5 重写_cas_client程序 以上方法全都扯淡,因为根本原因是网络权限受限制导致,整了3天,容易么,好好哭一会!!!!!!!! 还是看论坛帖子:...
_Cas_安装包以及入门demo案例,还有_springSecurity_与CSA的_集成_Demo
在使用_CAS_ + Spring security 整合实现SSO时, 在客户端应用访问有的地址时无法获取当前登录用户信息(即通过SecurityContextHolder.getContext().getAuthentication().getPrincipal()返回null). 这是由于对该地址的访问不经过Spring Security所引起的. 即该地址对应的URL 不在Sprin
spring security cas server默认语言设置为中文
上滑加载更多
Original url: Access
Created at: 2019-06-24 12:12:59
Category: default
Tags: none
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
最新评论