(六)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原理.那么在多线程并发环境中,的缺点是什么呢?这篇文章我们就来讨论讨论 本篇是<凯 ...
随机推荐
- Openstack 云主机深入了解 (十六)
一)云主机深入了解 1.云主机在计算节点以进程方式运行 2.监听vnc的端口,vnc默认端口从5900开始, 多台云主机,端口递增 3.云主机桥接网卡,与宿主机联通网络 提示:在openstack环境 ...
- PHP的命名空间namespace
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...
- es6解构赋值总结
数组的解构赋值 1.简单的赋值方式 2.多维数组解构赋值 3.默认值,只有当右边对应位置为undefined时候才会选择默认(null不属于undefined) 4.左右不对等,会相应的对号入座,没有 ...
- 【招聘需求】前端开发/PHP工程师【往全栈发展】
1.熟悉html.css,了解javascript2.熟悉任何一种服务端编程语言(php.python.java.asp.jsp.c.c++.c#,go等等)3.热爱工作,接受加班者优先 我们是公司内 ...
- php获取农历、节日、节气
/* * 农历 节气 节日 * edit: www.jbxue.com */ header("Content-Type:text/html;charset=utf-8"); cla ...
- Java基础知识(二)
一.基本概念 1. Java程序初始化的顺序是怎么样的 2. Java和C++的区别 3. 反射 先看一个知乎回答 什么是反射 主要用途 获得Class对象 4. 注解 什么是注解 为什么要用注解 基 ...
- 【POJ 3974】Palindrome
http://poj.org/problem?id=3974 Manacher模板题.Menci的博客讲得很好 有一点:Menci的代码中的right我感觉是代表能延伸到的最右端点的右边的点,因为r( ...
- [BZOJ3214][ZJOI2013]丽洁体(Hash+DP)
3214: [Zjoi2013]丽洁体 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 906 Solved: 335[Submit][Status] ...
- [BZOJ5046]分糖果游戏
题目大意: 有a,b两个人分糖,每个人都有一个能量值. 每个人每一轮可以选择进行两种操作: 1.取走最左边的糖果,补充相应的能量值并获取相应的美味度. 2.跳过这一轮,能量值-1. 问在每个人都采取最 ...
- [转]Servlet的load-on-startup
在servlet的配置当中,<load-on-startup>5</load-on-startup>的含义是: 标记容器是否在启动的时候就加载这个servlet. 当值为0 ...