当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

基于jasig的sso

发表于: 2014-09-02   作者:wowowosoul   来源:转载   浏览:
摘要: <div class="it610-blog-content-contain" style="font-size: 14px"></div> 整体的结构就是cas+shiro实现单点登录和权限管理。怎么安装就不说了网上一大堆,在这总结一些问题的处理方法 1、未能识别出目标票根 org.jasig.cas.client.valid
<div class="it610-blog-content-contain" style="font-size: 14px"></div>
整体的结构就是cas+shiro实现单点登录和权限管理。怎么安装就不说了网上一大堆,在这总结一些问题的处理方法
1、未能识别出目标票根
org.jasig.cas.client.validation.TicketValidationException: 
未能够识别目标'ST-2-jEo1qANhs9HgZ7VKC5Hf-cas'票根

原因:是由于客户端应用web.xml配置中的casServerLoginUrl和casServerUrlPrefix两个URL属性的域名与证书中定义的不一致,或者你的地址配置的不对,配置serverUrl就到cas配置serviceUrl就到端口号

2、循环重定向
解决方案为查看service与loginUrl中的是否一致,这是两个概念,service是请求的页面,当用户访问这个页面是会跳转至公共的验证平台,而loginUrl中的service是回调的地址,如果两个地址设定为同一地址的话就会出现循环重定向的问题

3、自定义验证报异常
cas登录端修改cas-server-surport-jdbc包中的class要保证与原cas所用包的环境一致,替换class后运行tomcat会包creating bean exception这是缺少mysql的jar包导入就可以了

4、配置客户端返回更多信息,具体的配置过程网上很多这里只提报错。
误区:<constructor-arg index="1" value="select * from user where username=?"/> 这是正确的配置方法
<constructor-arg index="1" value="select * from user where {0}"/> 这是错误的配置方法

5、去掉cas地址栏的sessionid
top.jsp session=false 例<%@ page session="false" %>  去掉Url中的sessionid

6、shiro的集成
shiro加入主要有什么意义呢?我总结了以下几点:a、大局上的权限控制,shiro提供从角色到权限的系统化校验,而且shiro的加密也是较比传统更安全啊。b、shiro可以过滤url。我们很多情况下需要cas放过某些url并不是/*式的拦截,如何能细颗粒的控制这些url,显然通过cas的filter映射拦截是不能尽如人意的,所以我们引入shiro,可以指定需要过滤的url为anon,需要保护的就指定为authc。还可以基于角色过滤等等。c、shiro提供很成熟的session机制,可以配合cas的票据完美保存cas的会话。d、如果用户非常态登录,不通过正常的login登录那么回跳到应用的时候就会有一些问题,我们集成了shiro之后就可以拿到重定向前的请求放在shirosaverequest里,这样就可以解决回跳重定向的问题了

7、cas的集群
cas集群我这里用到的是tomcat,只需要配置tomcat的session共享就可以了

未尽 待完善

基于jasig的sso

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分。 SSO的一种较为通俗的定义是:SS
SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO
基于.Net的单点登录(SSO)解决方案 前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详
单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一
通常稍微规模大一些的企业,内部已经有很多的应用系统,多个系统整合首先要解决的便是“统一登录(S
6 SSO
基于.Net的单点登录(SSO)解决方案 前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详
7 SSO
基于.Net的单点登录(SSO)解决方案 前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详
8 SSO
基于.Net的单点登录(SSO)解决方案 前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详
9 SSO
更新:新增登录流程图: [原创]单点登陆(SSO)组件的设计与实现二-登录流程图 先说几句废话,自我感
10 sso
1. SSO 概论 SSO ------ Single Sign-On 的缩写,通常称 “单点登录”。 单点登录就是指,当用户访
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号