(六)SSO之CAS框架扩展 改动CAS源代码实现与ESS动态password验证对接
题记:
偶尔的偶尔我们会听到这个站点的数据泄露了,那个站点的用户数据泄露了。让用户又一次改动登录password,所以,对于用户数据安全性越发的引起我们的重视了,尤其是一些保密性要求高的站点。更须要添加安全性了。
正文:
对于安全性问题。我们怎样解决呢?
解决方式:
1、避免sql注入问题。
2、用户登录password加密。
3、使用https安全訪问方式。
4、使用第三方设备。像银行一般使用的password口令。
5、...
前三种方案是比較常见的。这里主要说第四种解决方式,我们在前三种方案的基础上。使用了第三方的设备。就像网银那样,须要动态口令,才干够登录进入系统。依据需求。公司使用的第三方设备,ESS设备,须要实如今CAS的基础上实现动态口令password验证功能。也就是又要去修改CAS源代码了,不能说CAS在功能的扩展方面做的不是十分的好。可是在代码的可扩展上还是能够的。
详细需求:
1、能够动态的切换页面。客户须要使用ESS动态password安全。就切换到ESS页面,用户不须要使用ESS设备就切换到无动态password口令的页面。
2、在加入用户的时候,如用户须要使用ESS设备,则显示,无需则用户不用看到相关的设备信息。也无须加入与之相应的设备信息。
详细的解决方式:
为了不去改动很多其它的源代码而引起他的问题,让CAS与ESS设备结合,解决过程例如以下。
1、动态切换页面
A 实现页面动态切换,首先须要两个登录页面,以便切换。复制cas的登录页面一份cas\WEB-INF\view\jsp\ 复制default目录,重命名为ess。我们将其改名后再放进来。
B复制并改名cas\WEB-INF\classess下的default_views.properties,在这里改名为ess_views.properties
。打开我们加入的这个文件。将全部default的路径改为ess的路径。也就是改动成我们新建的目录的名称。
C然后打开cas\WEB-INF下的cas.properties。改动cas.viewResolver.basename=ess_views
2、动态password验证
加上动态password字段。和增加systemId过程一致:http://blog.csdn.net/lovesummerforever/article/details/38023385,当然在向数据库这验证username和password是否正确之后,须要调用验证ESS设备的接口。来验证动态password(ESS设备的动态password验证,是他的client和server採用一致的算法。这样每一分钟生成同样的动态口令。调用接口来和server做匹配验证)
3、对于控制输入框的隐藏和显示
把改动配置的变量放到xml文件里或者放在.properties文件里,通过读取配置文件,写入到application或者session中。再界面通过EL表达式或者jstl表达式,取到session或者application中的数据。来推断隐藏或显示。
总结:
相信没有解决不了的问题,仅仅要你想解决!办法总比问题多!
(六)SSO之CAS框架扩展 改动CAS源代码实现与ESS动态password验证对接的更多相关文章
- (一)SSO之CAS框架通俗原理
版权声明:本文为博主原创文章.转载请标明出处. https://blog.csdn.net/lovesummerforever/article/details/36068249 SSO统一验证 ...
- Solon详解(六)- Solon的校验扩展框架使用与扩展
Solon详解系列文章: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播机制 ...
- [置顶] SSO单点登录系列6:cas单点登录防止登出退出后刷新后退ticket失效报500错
这个问题之前就发现过,最近有几个哥们一直在问我这个怎么搞,我手上在做另一个项目,cas就暂时搁浅了几周.现在我们来一起改一下你的应用(client2/3)的web.xml来解决这个2b问题,首先看下错 ...
- SSO单点登录系列6:cas单点登录防止登出退出后刷新后退ticket失效报500错
这个问题之前就发现过,最近有几个哥们一直在问我这个怎么搞,我手上在做另一个项目,cas就暂时搁浅了几周.现在我们来一起改一下你的应用(client2/3)的web.xml来解决这个2b问题,首先看下错 ...
- 支持BLOB操作的Jena框架扩展——JenaBLOB
与研究语义网的同行们分享一下上半年做的一个东西,它是支持BLOB操作的Jena框架扩展--JenaBLOB,已在GitHub上开源,欢迎提出宝贵意见! 众所周知,Jena是不支持BLOB类型的Lite ...
- Java CAS同步机制 原理详解(为什么并发环境下的COUNT自增操作不安全): Atomic原子类底层用的不是传统意义的锁机制,而是无锁化的CAS机制,通过CAS机制保证多线程修改一个数值的安全性。
精彩理解: https://www.jianshu.com/p/21be831e851e ; https://blog.csdn.net/heyutao007/article/details/19 ...
- Cas 服务器 Service(Cas客户端)注册信息维护
作为Cas服务器,允许哪些客户端接入与否是通过配置来定义的.对Cas服务器来说,每一个接入的客户端与一个Service配置对应:在Cas服务器启动时加载并注册上这些Service,与之对应的客户端才能 ...
- 第三百一十六节,Django框架,中间件
第三百一十六节,Django框架,中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间 ...
- Java并发编程之CAS第三篇-CAS的缺点及解决办法
Java并发编程之CAS第三篇-CAS的缺点 通过前两篇的文章介绍,我们知道了CAS是什么以及查看源码了解CAS原理.那么在多线程并发环境中,的缺点是什么呢?这篇文章我们就来讨论讨论 本篇是<凯 ...
随机推荐
- T-SQL备忘(6):常用内置函数
日期和时间函数: 1.获取当前时间:GETDATE() select GETDATE() 返回: 2015-04-27 20:52:06.700 2.返回时间的部分(日.月.年) a.获取日: sel ...
- SpringMVC一些功能
1.日期格式转换 当页面提交日期格式时 默认的格式为2017/10/1 如果指定日期格式为2017-10-1 //初始化绑定日期格式--不定义初始化格式时只能默认用yyyy/MM/dd格式 @Init ...
- react native项目增加devtools工具
第一步:安装react devtools工具 在当前项目中打开命令行,添加react devtools工具,因为运行的工具有九十几M,下载时需要时间,请耐心等待 yarn add react-devt ...
- STL容器 -- Priority_Queue
核心:和队列相似,但优先队列中的 “下一个元素” 指的是 “优先级最高” 的元素. 头文件:#include<queue> 普通类型的构造方法: priority_queue<int ...
- AtCoder Regular Contest 103 Problem D Robot Arms (构造)
题目链接 Problem D 给定$n$个坐标,然后让你构造一个长度为$m$的序列, 然后给每个坐标规定一个长度为$m$的序列,ULRD中的一个,意思是走的方向, 每次从原点出发按照这个序列方向,每 ...
- Server SQL 2008 练习
一.修改数据库 (1)给db_temp数据库添加一个数据文件文件db_temp1指定大小为5MB,最大文件大小为100mb,自动递增大小为1MB,存储路径为d:\. 利用系统存储过程sp_helpdb ...
- 【JavaScript】JS将Java的Timestamp转为Date类型
遇到一个小需求,由于要填充日期插件里的数据,前台要把java后台传来的Date类型的数据转成YYYY-MM-DD格式的时间数据.通过json传输,Java的Date类型的数据自动转成了时间戳,例如 “ ...
- Polynomial Problem(hdu 1296 表达式求值)
We have learned how to obtain the value of a polynomial when we were a middle school student. If f(x ...
- 写的模块和方法 wap 和 pc
createjs 画了一个曲线功能 rem 的适配方式 $.fn.stop 方法, zepto 没有的, 对于 2d的旋转 变形 还有 移动都可以停下来, 做动画的属性存储, getComputedS ...
- hdu 5961 传递 (2016ccpc 合肥站 A题)
传递 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...