修改CAS实现控制某个用户在定义的时间内登录次数

 思想:

在数据库增加字段  1.登录次数 2.登录失败时间(类型TimeStamp)

当一个用户进来认证的时候当登录失败的时候更新登录次数 和最后登录失败的时间。

主要是在登录成功或者失败的时候判断时间差是不是大于定义的时间,要数大于得话得更新登陆次数和失败时间。

成功的时候把登陆次数更新,而不更新登录错误时间

登录失败的时候把登陆次数更新为最大次数减一,把错误时间更新到当前。

 

具体在CAS中的实现

修改web-flow 验证路口:先修改配置文件cas-servlet.xml

 

定义flow.AuthenticationViaFormAction类  原cas-server-core-3.3.3.jar中类

 

然后修改真正验证的核心类QueryDatabaseAuthenticationHandler  cas-server-support-jdbc-3.3.3.jar包

首先修改deployerConfigContext.xml

 

新建自定义类QueryDatabaseAuthenticationHandler

 

 

 

最后修改 simple-loginflow.xml中的一个FLOW结果,这是我自己的自定义flow 其他的可以类似的改。

 

 

statusErrorCallbackView6中的内容为

 

这就是全部配置

 

整个的simple-loginflow.xml代码如下

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值