题记:

偶尔的偶尔我们会听到这个站点的数据泄露了,那个站点的用户数据泄露了。让用户又一次改动登录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验证对接的更多相关文章

  1. (一)SSO之CAS框架通俗原理

    版权声明:本文为博主原创文章.转载请标明出处. https://blog.csdn.net/lovesummerforever/article/details/36068249 SSO统一验证     ...

  2. Solon详解(六)- Solon的校验扩展框架使用与扩展

    Solon详解系列文章: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播机制 ...

  3. [置顶] SSO单点登录系列6:cas单点登录防止登出退出后刷新后退ticket失效报500错

    这个问题之前就发现过,最近有几个哥们一直在问我这个怎么搞,我手上在做另一个项目,cas就暂时搁浅了几周.现在我们来一起改一下你的应用(client2/3)的web.xml来解决这个2b问题,首先看下错 ...

  4. SSO单点登录系列6:cas单点登录防止登出退出后刷新后退ticket失效报500错

    这个问题之前就发现过,最近有几个哥们一直在问我这个怎么搞,我手上在做另一个项目,cas就暂时搁浅了几周.现在我们来一起改一下你的应用(client2/3)的web.xml来解决这个2b问题,首先看下错 ...

  5. 支持BLOB操作的Jena框架扩展——JenaBLOB

    与研究语义网的同行们分享一下上半年做的一个东西,它是支持BLOB操作的Jena框架扩展--JenaBLOB,已在GitHub上开源,欢迎提出宝贵意见! 众所周知,Jena是不支持BLOB类型的Lite ...

  6. Java CAS同步机制 原理详解(为什么并发环境下的COUNT自增操作不安全): Atomic原子类底层用的不是传统意义的锁机制,而是无锁化的CAS机制,通过CAS机制保证多线程修改一个数值的安全性。

    精彩理解:  https://www.jianshu.com/p/21be831e851e ;  https://blog.csdn.net/heyutao007/article/details/19 ...

  7. Cas 服务器 Service(Cas客户端)注册信息维护

    作为Cas服务器,允许哪些客户端接入与否是通过配置来定义的.对Cas服务器来说,每一个接入的客户端与一个Service配置对应:在Cas服务器启动时加载并注册上这些Service,与之对应的客户端才能 ...

  8. 第三百一十六节,Django框架,中间件

    第三百一十六节,Django框架,中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间 ...

  9. Java并发编程之CAS第三篇-CAS的缺点及解决办法

    Java并发编程之CAS第三篇-CAS的缺点 通过前两篇的文章介绍,我们知道了CAS是什么以及查看源码了解CAS原理.那么在多线程并发环境中,的缺点是什么呢?这篇文章我们就来讨论讨论 本篇是<凯 ...

随机推荐

  1. T-SQL备忘(6):常用内置函数

    日期和时间函数: 1.获取当前时间:GETDATE() select GETDATE() 返回: 2015-04-27 20:52:06.700 2.返回时间的部分(日.月.年) a.获取日: sel ...

  2. SpringMVC一些功能

    1.日期格式转换 当页面提交日期格式时 默认的格式为2017/10/1 如果指定日期格式为2017-10-1 //初始化绑定日期格式--不定义初始化格式时只能默认用yyyy/MM/dd格式 @Init ...

  3. react native项目增加devtools工具

    第一步:安装react devtools工具 在当前项目中打开命令行,添加react devtools工具,因为运行的工具有九十几M,下载时需要时间,请耐心等待 yarn add react-devt ...

  4. STL容器 -- Priority_Queue

    核心:和队列相似,但优先队列中的 “下一个元素” 指的是 “优先级最高” 的元素. 头文件:#include<queue> 普通类型的构造方法: priority_queue<int ...

  5. AtCoder Regular Contest 103 Problem D Robot Arms (构造)

    题目链接  Problem D 给定$n$个坐标,然后让你构造一个长度为$m$的序列, 然后给每个坐标规定一个长度为$m$的序列,ULRD中的一个,意思是走的方向, 每次从原点出发按照这个序列方向,每 ...

  6. Server SQL 2008 练习

    一.修改数据库 (1)给db_temp数据库添加一个数据文件文件db_temp1指定大小为5MB,最大文件大小为100mb,自动递增大小为1MB,存储路径为d:\. 利用系统存储过程sp_helpdb ...

  7. 【JavaScript】JS将Java的Timestamp转为Date类型

    遇到一个小需求,由于要填充日期插件里的数据,前台要把java后台传来的Date类型的数据转成YYYY-MM-DD格式的时间数据.通过json传输,Java的Date类型的数据自动转成了时间戳,例如 “ ...

  8. 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 ...

  9. 写的模块和方法 wap 和 pc

    createjs 画了一个曲线功能 rem 的适配方式 $.fn.stop 方法, zepto 没有的, 对于 2d的旋转 变形 还有 移动都可以停下来, 做动画的属性存储, getComputedS ...

  10. hdu 5961 传递 (2016ccpc 合肥站 A题)

    传递 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...