MkDocs是一个快速、简单、华丽的静态网站生成器,适用于构建项目文档。文档源文件以Markdown编写,并使用一个YAML文件来进行配置。 MkDocs生成完全静态的HTML网站,你可以将其部署到GitHub pages、Amzzon S3或你自己选择的其它任意地方。

MkDocs有一堆很好看的主题。 官方内置了两个主题: mkdocsreadthedocs, 也可以从MkDocs wiki中选择第三方主题, 或者自定义主题

阅读全文 »

如果每个Web应用有自己的登录界面,不想使用Cas服务器的登录界面。也不需要改动Cas服务器去适配各种客户端登录界面需求。 那么可以通过使用Restful API的方式进行SSO认证,这是最佳实践。

阅读全文 »

默认情况下,cas是将票据信息存储到内存中,我们可以将票据存储到redis服务器中,cas采用的spring data redis 来控制redis

将票据存储到redis需要两个步骤:

  1. 配置cas关于redis的依赖
  2. 配置application.properties,添加redis的配置信息

接下来讲解如何通过Redis存储Ticket,以及通过Restful API方式验证Ticket。

阅读全文 »

cas客户端接入称之为service,必须经过cas的允许才能进行登录,当然不同的客户端可以做不同的事情,其中包括:

  1. 自定义主题(各客户端登录页自定义)
  2. 自定义属性(服务属性(固定)与用户属性(动态))
  3. 自定义协议
  4. 自定义登录后跳转方式,跳转路径
  5. 授权策略(拒绝属性、可登录时间范围限制、等等)
  6. 拒绝授权模式
    阅读全文 »

现在开始对CasServer进行二次开发,比如如何设置数据库连接,如何使用数据库的用户名和密码登录, 如何使用Restful API方式实现SSO,如何自定义服务,如何自定义登陆界面等等。接下来将逐步介绍。

Cas官方说明,如果你想对它默认项目有所更改,那么就使用覆盖它路径的方式进行。

更改CAS的配置既可以修改cas.properties文件,也能修改默认的application.properties。 为了配置集中处理,我会把默认的application.properties配置文件提出来,只修改它,并把cas.properties内容都移到里面去。

阅读全文 »

这篇开始写一个系列,讲解如何使用配置和使用CAS实现单点登录。

我的环境:

  • CAS-server:5.3.X
  • Maven:3.6.0
  • JDK:1.8
  • cas-server域名:cas.server.com
  • tomcat服务器:SpringBoot内置/tomcat8
  • 操作系统:华为云主机上CentOS 7

Cas支持Gradle和Maven两种编译方式,使用SpringBoot构建,我这里使用Maven的方式。

阅读全文 »

所谓单点登录(SSO),就是同平台的诸多应用登陆一次,下一次就免登陆的功能。就像你在知乎首页登录一次, 下一次再访问知乎专栏或是知乎日报就可以免去登录操作。

实现SSO的方式有很多,现在主流的就是CAS这种基于session的单点登录形式。 CAS是一个单点登录框架,开始是由耶鲁大学的一个组织开发,后来归到apereo去管。 CAS也是开源,遵循着apache 2.0协议,代码目前是在github上管理。

接下来我会写一个CAS的系列教程,这篇是一个原理篇,后面系列教程是实际操作篇。

阅读全文 »

今天一个传递依赖问题搞了我半天,终于搞明白原因了。一个jar包A依赖了httpclient,然后另一个jar包B引入A, 在IDEA里面只能看到依赖A,不管咋样都看不到依赖httpclient。

我在IDEA的项目B里面,打包后在控制台发现一个告警:

1
2
the POM for A is invalid, transitive dependencies (if any) will not be available, 
enable debug logging for more details

原来是jar包A的pom依赖有问题。

阅读全文 »