当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead) 5种状态。尤其是当线程启动以后,它不可能一直“霸占”着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换新建状态,当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅...
7年前 (2018-05-05)
阅读(3459)
赞一个 (1 )
链接直达
近几年,微服务技术得以迅猛普及,而以 Spring Cloud、Dubbo 为代表较为成熟的微服务开发框架,占据着市场的主流地位,它们甚至一度成为微服务的代名词。什么是微服务首先微服务并没有一个官方的定义,想要直接描述微服务比较困难,我们可以通过对比传统 Web 应用,来理解什么是微服务。传统的 Web 应用核心分为业务逻辑、适配器以及 API 或通过 UI 访问的 Web 界面。业务逻辑定义业务流程、业务规则以及领...
7年前 (2018-05-04)
阅读(3897)
赞一个 (1 )
链接直达
Fluent提供了很轻量级的Http请求方法,Fluent API只暴露了一些最基本的HttpClient功能。这样,Fluent API就将开发者从连接管理、资源释放等繁杂的操作中解放出来,从而更易进行一些HttpClient的简单操作。maven依赖引入 <dependency>
<groupId>org.apache.httpcomponents&...
7年前 (2018-04-27)
阅读(7308)
赞一个 (5 )
链接直达
注: 目前博文使用cas版本为5.1.5,由于5.2.x与5.1.x构建模式有差异,所以部分配置会有些偏差。本章内容简答介绍OAuth2微信登陆CSDN登陆GitHub登陆QQ登陆介绍很多朋友问我,怎么集成QQ、微信、CSDN、GitHub、微博等等第三方登录,所以我也只要简单列一下如何集成第三方登录,当然这次做的demo只做测试教程使用,上线还需要界面的调整以及第三方登录的审核。目前用的第三方登录几乎都是采用授权的OAuth2协议(有...
7年前 (2018-04-27)
阅读(10891)
赞一个 (7 )
链接直达
cas-management也简称为service-management可以理解为服务管理。 cas为我们提供了对service的管理平台,通过UI界面进行操作管理。需要注意的有点,必须保证cas-server和cas-management,两个的用户信息一致,不然就会报授权失败。一、架构说明目录访问地址说明cas-overlay-template-masterhttps://cas.server.com:8443/casca...
7年前 (2018-04-24)
阅读(11824)
赞一个 (0 )
链接直达
在单点登录系统中,少不了修改密码、忘记密码、重置密码、找回密码的功能,哪怕这个过程不是sso来胜任,肯定有一个模块甚至一个系统来做这个密码管理功能,但刚刚好cas自带了这个密码管理功能,非常简单也很好理解先说一下我们日常的一些重置密码做法:输入用户名/邮箱/手机号(其实就是确定到一个用户)发送邮件/验证码进行验证邮箱验证(打开链接)/手机验证(输入验证码)加强验证回答问题(可选)输入新密码,重置但像qq那样,找回密码功能无非是多了一个审...
7年前 (2018-04-23)
阅读(12001)
赞一个 (6 )
链接直达
CAS利用Swagger自动生成API文档。生成的文档支持所有CAS端点和REST API。
CAS与Swagger的集成非常的简单,只需要一步就能完成。
pom.xml配置依赖
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-doc...
7年前 (2018-04-23)
阅读(6546)
赞一个 (1 )
链接直达
假设有6个单独的子项目A、B、C、D、E、F,都有各自的客户端登录界面(6个),现在要实现SSO效果,所以加上了一个CAS-Server服务
我想实现的效果是:登陆界面还是在客户端(不是在Server端增加主题登录界面)实现【同域名、不同域名】之间的SSO
举例:
1、当我访问子项目 A 的受保护资源时,跳转到 A 的登录界面。(其他子项目同理)...
7年前 (2018-04-23)
阅读(11178)
赞一个 (14 )
链接直达
Rest API 原理首先客户端提交用户名、密码、及Service三个参数, 如果验证成功便返回用户的TGT(Ticket Granting Ticket)至客户端, 然后客户端再根据 TGT 获取用户的 ST(Service Ticket)来进行验证登录。 故名思意,TGT是用于生成一个新的Ticket(ST)的Ticket,而ST则是提供给客户端用于登录的Ticket,两者最大的区别在于, TGT是用户名密码验证成功之后所生成的Ti...
7年前 (2018-04-23)
阅读(13905)
赞一个 (12 )
链接直达
默认情况下,cas是将票据信息存储到内存中,我们可以将票据存储到redis服务器中,cas采用的spring data redis 来控制redis将票据存储到redis需要两个步骤:配置cas关于redis的依赖,配置application.properties,添加redis的配置信息。有关redis的安装配置,请参考底部教程参考链接。pom.xml 配置<!--redis支持,将票据存在redis,默认是内存中-->...
7年前 (2018-04-20)
阅读(8918)
赞一个 (6 )
链接直达
这篇紧接上一篇代理文章解读。
一、请求示例
配置好以后接下来将展示一个app1作为代理端访问app2的应用示例。该示例的重点在于app1的请求发起,对于需要请求的app2端的内容我们假设就是一个API接口,其简单的输出一些文本。对于代理端而言,其请求的发起通常需要经过如下步骤:
1、获取到当前的AttributePrincipal对象,如果当前可以获取到request对象...
7年前 (2018-04-20)
阅读(9132)
赞一个 (2 )
链接直达
一、什么是 Cas代理认证考虑这样一种场景:有两个应用App1和App2,它们都是受Cas Server保护的,即请求它们时都需要通过Cas Server的认证。现需要在App1中通过Http请求访问App2,显然该请求将会被App2配置的Cas的AuthenticationFilter拦截并转向Cas Server,Cas Server将引导用户进行登录认证,这样我们也就不能真正的访问到App2了。针对这种应用场景,Cas也提供了对应...
7年前 (2018-04-20)
阅读(12023)
赞一个 (10 )
链接直达