题记:

偶尔的偶尔我们会听到这个站点的数据泄露了,那个站点的用户数据泄露了。让用户又一次改动登录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. 前端读者 | ES6知识点概述

    本文来自 @羯瑞 整理 ES6,并不是一个新鲜的东西,ES7.ES8已经赶脚了.但是,东西不在于新,而在于总结. 变量的新定义 let 和 const 在ES6没有被普及时,我们会用的变量定义的方法是 ...

  2. 日志rsyslog

    (1)日志基础 1)简介 rsyslog:记录大部分与系统操作有关,例如安全,认证sshd,su,计划任务at,cron rsyslog日志可以存在本地,也可以存放在远程服务器 2)常见的日志文件 / ...

  3. firfox与about:config

    ¤什么是about:config¤about:config是Firefox的设置页面,Firefox提供了不少高级设置选项在这里以便让你可以更加详细地控制Firefox的运行方式.官方不推荐用户手工修 ...

  4. 【PHPExcel实例】 php 导出 excel 实例

    CREATE TABLE `person` ( `) DEFAULT NULL, `name` ) DEFAULT NULL, `birthday` date DEFAULT NULL ) ENGIN ...

  5. VMware8安装配置Win7、CentOS-7向导

    1.宿主电脑配置情况 Windows 8.1 中文版 Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz 2.4GHz RAM: 8G Type: 64 bit 2.软件 ...

  6. Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises) D. Jury Meeting(双指针模拟)

    D. Jury Meeting time limit per test 1 second memory limit per test 512 megabytes input standard inpu ...

  7. [Lydsy1806月赛] 质数拆分

    (mmp我已经不知道是第几次写NTT被卡了) 可以发现质数个数是 N/log(N) 级别的,1.5*10^5之内也只有 10000 多一点质数. 所以我们第一层暴力卷积,常数可以优化成 1/2. 然后 ...

  8. HDU 6040 Hints of sd0061(划分高低位查找)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6040 [题目大意] 给出一个随机数生成器,有m个询问,问第bi小的元素是啥 询问中对于bi< ...

  9. 【平衡树】【pb_ds】 bzoj1861 [Zjoi2006]Book 书架

    需要用数组记录编号为i的书的位置,和位置i处的书的编号. Code: #include<cstdio> #include<ext/pb_ds/assoc_container.hpp& ...

  10. python基础之序列化 time random os

    序列化与反序列化 json  pickle 1.什么是序列化与反序列化? 序列化就是将内存中的数据结构转成一种中间格式储存到硬盘或者基于网络传输 反序列化是网络,硬盘将被序列化的对象重新读到内存 2. ...