- 博客(50)
- 资源 (4)
- 收藏
- 关注

原创 CAS单点登录-单用户登录(十九)
CAS单点登录-单用户登录(十九)简介所谓“单用户单账户登录”是指:在同一系统中,一个用户名不能在两个地方同时登录。如: 当某账号在 A 处登录后,在未退出的情况下,如果再到 B 处登录,那么,系统会挤下 A 处登录的账号程序逻辑我们一路学习cas过来应该知道如下知识 1. 维持一个用户状态是用tgt 2. 用户登录成功后tgt会创建 3. 业务系统验证成功是采用st的校验 4. 用户注销
2017-11-29 10:59:55
10617
3

原创 CAS单点登录-登录校验码(十七)
CAS单点登录-登录校验码(十七)本章教程用的cas版本为5.1.5简介在一些常规的老系统不得不加入固定的验证码,当然这是为了流控、暴力破解、降低数据库压力等等原因,那么接下来会讲解一些如何进行解决这些问题流控/防爆: 这一层可以在监控系统中做,例如同一个ip高频率访问可以进行一些禁止策略处理,除了这个当然可以加验证码了,但传统的老系统往往是一开始就添加验证码,这样给用户的感觉不太友好了,毕竟并
2017-11-19 11:58:10
7349
1

原创 CAS单点登录-第三方登录[QQ、微信、优快云、GitHub](十四)
CAS单点登录-第三方登录[QQ、微信、优快云、GitHub](十四)注: 目前博文使用cas版本为5.1.5,由于5.2.x与5.1.x构建模式有差异,所以部分配置会有些差异。本章内容简答介绍OAuth2微信登陆优快云登陆GitHub登陆QQ登陆介绍很多朋友问我,怎么集成QQ、微信、优快云、GitHub、微博等等第三方登录,所以我也只要简单列一下如何集成
2017-10-20 23:45:42
22246
9
原创 4) Spring Boot + Spring Security集成CAS
4) Spring Boot + Spring Security集成CAS预期效果: 1. 访问客户端时跳转到cas登录 2. 登录完后,展示默认的用户信息 3. 对cas用户进行用户映射分支代码:https://github.com/grissomsh/cas/tree/1.x-integration-spring-bootcas校验流程:用户访问业务系统(clien...
2018-03-17 17:09:10
17352
3
原创 3)配置中心
3)配置中心spring boot 1.5.10-RELEASEspring cloud Edgware.SR2代码分支:https://github.com/grissomsh/cas/tree/1.x-config实现目标: 1. 搭建spring cloud config server(本地配置,端口为8888) 2. sso-server从配置中心读取配置文件(修改端...
2018-03-17 14:03:13
1220
原创 1) Hello Cas Server
1). Hello Cas Server版本:5.1.8脚手架 (需要墙)构建工具:Maven构建方式:overlaya.下载代码包通过CAS官网提供的脚手架填写包版本及其他信息,当然这个时候如果了解过cas的其他模块,可以进行依赖下载下载完成后如下图所示,这个时候这个代码可以直接导入IDE了 b. 调整配置由于脚手架下载下来的代码有点瑕疵mave...
2018-03-17 11:55:02
1691
原创 2) CAS Management
2) CAS Management版本:5.1.8框架代码构建工具:Maven构建方式:overlay 代码分支:https://github.com/grissomsh/cas/tree/1.x-casmgnt特性对接入单点登录的服务进行统一管理服务持久化配置(NoSql,JPA)UI界面配置管理a. 下载代码包通过官网提供的地址,找到对应版本进行...
2018-03-17 11:54:03
2943
2
原创 Spring Security会话控制(单用户登录)
在项目开发过程中很难避免说单用户登录系统,或者说对登录会话进行限制,例如说,只能两台机器登录用户那么话不多说,直接看配置代码:XML配置如果你想限制单个用户访问你的应用程序的能力。Spring Security通过后面简单的配置马上启用。首先你需要添加后面的监听器到你的web.xml文件。让Spring Security获得session的生存事件:<listener> <listener
2018-01-12 11:22:02
7975
1
原创 CAS单点登录-微信企业号单点登录(二十)
CAS单点登录-微信企业号登录(二十)背景在企业号得开发中,无法避免登录的问题,多个系统前端交互可能会设计到单点登录,若多系统已单点登录,那sso如何支持呢?概述查看企业号开发者接口文档我们看完文档后总结如下: 1. 企业号接口采用密码认证获取access_token 2. 企业号认证后通过code以及access_token获取用户信息,并不是两个标准的oauth2认证,也不是通过双方的acc
2017-12-08 10:20:14
12081
原创 CAS单点登录-Debug调试源码(十八)
CAS单点登录-Debug调试源码(十八) 一路过来学习或者使用CAS 5.x版本已经有段时间,开始有朋友问我如何进行调试找问题或者开发了,那么这一章介绍一下如何采用IDEA、Eclipse进行调试实战通过官网的overlay构建会发现跟目录有build.cmd/build.sh两个文件,当然啦就是不同系统环境下的执行文件,而通过作者的源码的,就是在sso-server目录下build.cmd
2017-11-24 13:20:35
6547
转载 Spring Security OAuth2 开发指南
Spring Security OAuth2 开发指南官方原文:http://projects.spring.io/spring-security-oauth/docs/oauth2.html转载来源:http://www.cnblogs.com/xingxueliao/p/5911292.htmlSpring OAuth2.0 提供者实现原理:Spring O
2017-11-09 00:21:16
2443
原创 CAS单点登录-多属性返回(十六)
CAS单点登录-多属性返回(十六)再次强调,目前我们使用的cas版本为5.1.5在业务系统的开发中往往少不了返回用户的一些属性,包括单属性以及多属性,例如用户的一些基本信息或者权限,部门角色等等,因为业务系统获取到这些信息可能需要做一些其他业务逻辑本章目标通过jdbc返回单属性,多属性通过配置过滤策略,包括允许所有以及限制部分介绍cas多属性策略开放源码学习测试
2017-11-04 12:01:15
9714
4
原创 CAS单点登录-自定义认证之重写Credential(十五)
CAS单点登录-自定义认证之重写Credential (十五)ps:这一章拖了非常久,最近事情也比较多,希望能谅解~再次目前使用cas版本为:5.1.5我们使用sso的时候往往登录不只是需要用户名密码,更多的是有时候选择部门,系统等等的扩展校验信息,当然有时候还有校验码策略,例如同一个IP10分钟内输入密码错误3次输入验证码等等的业务场景~那么这一章讲一下如何扩展校验信息以及自定义校验器。需求登录
2017-11-04 11:18:42
13398
6
原创 关于springboot的配置注册循序问题
关于springboot的配置注册循序问题很多时候我们需要配置考虑org.springframework.boot.autoconfigure.EnableAutoConfiguration的@EnableConfigurationProperties注解循序这个时候就有前后优先级问题了:@AutoConfigureBefore(value = YourConfiguration.class) 在 You
2017-10-24 09:28:59
1123
原创 CAS单点登录-密码管理(十三)
CAS单点登录-密码管理(十三)看到这里我们目前已经把cas版本升级到5.1.5先说一下我们日常的一些重置密码做法:输入用户名/邮箱/手机号(其实就是确定到一个用户)发送邮件/验证码进行验证邮箱验证(打开链接)/手机验证(输入验证码)加强验证回答问题(可无)输入新密码,重置但像qq那样,找回密码功能无非是多了一个审核功能,其实一般来说,邮箱/短信验证加上回答问题已经满足日常的需求了
2017-10-16 14:23:55
11626
3
原创 CAS单点登录-单点登出/退出/注销(十二)
CAS单点登录-单点登出/退出/注销(十二) 据说cas3.x开始支持单点注销,但我们目前讲的是5.1.x,当然我们加入了单点登录,一般来说都需要单点注销的,让个子系统支持单点注销需要做一些工作本章目标logoutTyle类型讲解cas退出流程分析cas client单点退出配置buji(shiro、pac4j)单点退出配置重点目标: A系统需要访问cas输入
2017-10-14 14:16:28
36272
11
原创 CAS单点登录-自定义主题、界面 (十一)
# CAS单点登录-自定义主题、界面 (十一) 在集成了sso之后,cas的登录界面一般都不满足上线要求,所以必须来一套自定义登录界面,当然了甚至会提出登录界面里面新增部门选择呀、区域选择等等这些业务性的当然了我们还有以下的使用场景:不同接入端登录页不一默认主题本章目标图标改变背景颜色改变部分字体改变疑问与介绍官方文档:https://apereo.github.io/cas/5
2017-10-11 10:57:51
12929
原创 CAS单点登录-客户端集成(shiro、springboot、jwt、pac4j)(十)
CAS单点登录-客户端集成(shiro、springboot、jwt)(十)由于我们通常在业务上会有以下的使用场景:移动端通过业务系统鉴权移动端免登录(登录一次以后)解决方案:JWT(token认证方案)OAuth(第三方认证)PS:若想继续往下读,必须具备JWT的基本概念以及Pac4j的认证原理及应用场景疑问当然我们这章是讲JWT,那么会有以下的疑问:若服务端已经接入了SSO,那么在移
2017-09-30 11:03:48
30927
4
原创 Spring Cloud Config配置文件加解密
Spring Cloud Config配置文件加解密> curl http://localhost:8888/encrypt -d 123 {"description":"No key was installed for encryption service","status":"NO_KEY"}遇到这个问题有三个原因未配置JCEkey/keystoreDalston.SR3、Dalston.SR2
2017-09-27 10:45:37
7843
原创 CAS单点登录-客户端集成(cas-client)(九)
CAS单点登录-cas-client(九)当我们把单点系统搭建好了,或者客户已经提供好了单点登录服务,往往会想,如何集成cas、如何能在业务系统上用cas(本章只讲cas协议,oauth2、SAML等后续)但情况往往是这样的:业务系统已集成shiro业务系统已集成pac4j业务系统已集成spring security业务系统拥有自己一套鉴权机制而需求一般都是这样的:当次请求是否需要login,未l
2017-09-26 13:32:27
24988
1
原创 CAS单点登录-Cas-Management(八)
CAS单点登录-Cas-Management(八)cas-management也简称为service-management可以理解为服务管理或者接入管理。对所有的服务进行持久化 cas为我们提供了对service的管理平台,通过UI界面进行操作管理官方也提供了具体的配置文档当前配置的版本5.1.3
2017-09-19 12:41:47
15613
19
原创 CAS单点登录-Service配置(七)
CAS单点登录-Service配置(七)本章重点对本地json的配置进行讲解简介cas客户端接入称之为service,必须经过cas的允许才能进行登录,当然不同的客户端可以做不同的事情,其中包括:自定义主题(各客户端登录页自定义)自定义属性(服务属性(固定)与用户属性(动态))自定义协议自定义登录后跳转方式,跳转路径授权策略(拒绝属性、可登录时间范围限制、等等)拒绝授权路径
2017-09-18 13:29:53
18563
4
原创 CAS单点登录-自定义认证之Shiro、Rest(六)
CAS单点登录-自定义认证之Shiro、Rest(六) 上一章讲了自定认证之jdbc 已经解决了很多需求上的问题,但这远远不够,因为需求总是变态的,所以我们要时刻准备着这章即将讲解cas服务端集成shiro认证、Rest框架使用shiro鉴权 ★★★★☆熟悉shiro的比较多 ★★★★★相对于来说轻量级 ★★☆☆☆当然了使用shiro的公司还是非常的多,听说包括spring的官网
2017-09-14 13:26:02
16354
3
原创 CAS单点登录-自定义认证之JDBC(五)
CAS单点登录-自定义认证Ⅰ(五)版本为cas-5.1.3 若需要上个版本代码,可以点击下载: 本章节的内容为JDBC认证,查找数据库进行验证,其中包括:密码加密策略认证策略业务需求在不同公司,可能有很多业务需求或者架构不一样导致我们实现验证的方式不一样,那么cas为我们提供了很多认证的模式(当然也可以自定义),其中常用的有:JDBC认证LDAP认
2017-09-13 09:38:25
17463
6
原创 CAS单点登录-https配置(四)
CAS单点登录-https配置(四)注意:配置的单点登录版本为cas-5.1.3若需要上个版本代码,可以点击下载: 上图是未支持https时默认登录页5.x 版本后必须https才支持单点登录自签名服务端需要导入证书重点:passport.sso.com 是我们测试的域名测试时需要把本地机的ip映射为passport.sso.com设到系统HOSTS文件证书处理密钥生成生成步骤,各参数含
2017-09-11 13:41:41
20075
8
原创 CAS单点登录-配置中心(三)
CAS单点登录-配置中心(三)本章计划及内容计划:微服务概念配置中心充当角色搭建配置中心cas连接配置中心内容:采用 spring cloud Dalston SR3搭建配置中心采用 spring cloud config 1.3.2.RELEASE版本采用spring手脚架构建项目框架采用spring cloud 1.5.3.RELEASE版本依赖什么是微服务?介绍微服务并不是
2017-09-09 17:24:50
21920
8
原创 CAS单点登录-基础搭建HelloWorld(二)
CAS单点登录-基础搭建HelloWorld(二)认证中心 cas 5.1.3介注意:环境要求spring spring bootspring cloudspring securitypac4j1. 手脚架代码下载官方提供了手脚架工具,可
2017-09-08 14:04:34
24103
14
原创 CAS单点登录-简介(一)
CAS单点登录-简介(一) CAS-5.1.3什么是CAS?什么是单点登录?带大家一起搭建sso、cas-management、spring boot admin、spring cloud config
2017-09-07 21:48:05
55623
22
原创 Spring KeyHolder
国庆假期抽时间学习一下,在看spring的过程中,看到KeyHolder,我有点惊讶,这种设计模式真是的太巧妙了,平时为什么想不到,也运用不上,所以在此记录下来,也分享一下KeyHolder 你觉得这个接口很奇怪,全都是get方法,我们通过源码看到,使用的时候都是内部final用spring有对KeyHolder的默认实现GeneratedKeyHolder 源码:JdbcTemplate
2016-10-04 22:11:38
3809
原创 【Spring AOP】学习记录(二)
国庆过得好像有点忙,是不是生活过得简单了,就有时间享福了?当然国庆假期也抽点时间来学习学习,不然赶不上年轻人的脚步学啥今天学习了一下aop的事务管理,没分析内部,估计只不过对使用进行了封装,让我们使用更加简便而已功能可以通过切面编程对指定的进行事务管理可以控制异常的类型才进行回滚可以控制事务的timeoutPropagation取值: 值 备注 REQUIRED(默认值) 在
2016-10-04 21:38:46
370
原创 【qunit】学习记录
简介Qunit 是一个前端单元测试框架,能够与requirejs等AMD/CMD框架集成。 目前最新版本为2.0.1,不兼容IE9一下,若在IE9以下测试,请使用1.x版本 需要一个样式的支撑,以及一个脚本的支撑,当然也可以从官网上下载回来,全部正确浏览器标题会打钩 每个测试组后都会由三个数字(错误数,正确数,期待测试数),全正确必须是错误数=0并且,正确数=期待测试数css
2016-09-13 11:52:16
707
原创 【Spring AOP】学习记录(一)
概述什么是AOP作用实现框架例子配置1application-contextxml配置2servicesxml切面对象DebugInterceptorjava代理接口ISampleCreateUserjava接口实现SampleCreateUserImpljava测试基础类BaseTestjava测试实例ISampleCreateUserTestjava测试结果总结缺点
2016-09-11 15:43:59
434
原创 Spring 数据库处理Clob/Blob大对象
概述使用Spring的时候需求上难免说需要存储一下几种类型:文本图片二进制处理对象Spring 支持通过LobCreator/LobHandler进行处理大对象BLOB byte[] — getBlobAsBytes and setBlobAsBytesInputStream — getBlobAsBinaryStream and setBlobAsBinaryStreamCLOB
2016-09-10 17:23:24
6680
原创 【类库】java时间操作类库:Joda-Time
简介Joda是一个java的处理时间类库,需要jdk8的支持,是java.time (JSR-310).来自今天在无意中学习spring的文档(9.6.2 Annotation-driven Formatting)的Formatter的的源码的时候,发现这个时间类库,由于spring某些功能也依赖这个类库,所以我决定瞧瞧是怎么回事功能直接跟当前时间比较 isAfterNow/isBeforeNow
2016-09-02 00:51:12
857
原创 Shiro方法/注解使用
目的 最近对shiro的学习,有个习惯就是学习了就记录下来,以便以后翻出来看看,分享一下,如果说得不对,也有网友帮忙指正 那么这次是对注解这块进行学习 看这章之前必须学会shiro的基础配置,shiro的配置也很简单,我找时间把配置的也写一篇出来Shiro方法大全Role-Based Authorization(角色验证) 注解 描述 hasRole(String rol
2016-08-29 17:53:37
3354
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人