(六)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原理.那么在多线程并发环境中,的缺点是什么呢?这篇文章我们就来讨论讨论 本篇是<凯 ...
随机推荐
- es6中对象的一些操坐
变量的赋值 key值得构建 对象的严格检测 对象的合并 1.变量的赋值: let name='宋宇',age='17岁': let obj={name,age} //快速的将变量引入到对象中去. 2. ...
- String的hashCode分析
/** * Returns a hash code for this string. The hash code for a * {@code String} object is computed a ...
- CentOS为中文显示
[sudo yum groupinstall chinese-support]命令即可安装
- cocos2dx三种定时器的使用以及停止schedule,scheduleUpdate,scheduleOnce。
今天白白跟大家分享一下cocos2dx中定时器的使用方法. 首先,什么是定时器呢?或许你有时候会想让某个函数不断的去执行,或许只是执行一次,获取你想让他每隔几秒执行一次,ok,这些都可以统统交给定时器 ...
- ARP扫描工具arp-scan
ARP扫描工具arp-scan arp-scan是Kali Linux自带的一款ARP扫描工具.该工具可以进行单一目标扫描,也可以进行批量扫描.批量扫描的时候,用户可以通过CIDR.地址范围或者列 ...
- Beaglebone Black教程使用SSH通过USB和因特网连接Beaglebone Black
Beaglebone Black教程使用SSH通过USB和因特网连接Beaglebone Black 使用SSH通过USB和因特网连接Beaglebone Black SSH是Secure Shell ...
- 【BZOJ 1095】 1095: [ZJOI2007]Hide 捉迷藏 (括号序列+线段树)
1095: [ZJOI2007]Hide 捉迷藏 Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩捉迷藏游戏 ...
- 安装SQL2008时显示必须重启计算机才可以继续安装的错误—解决办法
数据库学习已经有一段时间了,前几天进入了SQL视频的学习,在安装数据库的时候,出现问题,总显示重启失败 ,无法继续安装,如图所示 出现这种问题 ,应该如何解决呢? 解决方法如下: (1).开始菜单-搜 ...
- 【BZOJ 2124】【CodeVS 1283】等差子序列
http://www.lydsy.com/JudgeOnline/problem.php?id=2124 http://codevs.cn/problem/1283/ 重点是把判断是否存在3个数组成等 ...
- [NOIp2016提高组]愤怒的小鸟
题目大意: 平面直角坐标系的第一象限有n(n<=18)个点,你可以每次给出一个形如y=ax^2+bx的函数把经过这条函数的点消掉,问消掉所有的点至少要多少函数? 思路: 枚举每两个点对,可以唯一 ...