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依赖有问题。

阅读全文 »

个人比较常用的.gitignore文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#idea
.idea/
target/
*.iml
*.ipr
*.iws
*.log

#eclipse
.project
.classpath
.classpath.log
pom.xml.versionsBackup
.settings

#gradle
.gradle
/build/
gradle-app.setting
.gradletasknamecache

#nodejs
node_modules/
package-lock.json

## others
.svn/
rebel.xml
.rebel-remote.xml.*

一般设置代理方式是,全局的代理设置vi /etc/profile

添加下面内容

1
2
export http_proxy = http://username:password@yourproxy.com:8080/
export ftp_proxy = http://username:password@yourproxy:8080/

但是这种直接在配置文件里面写自己域账号的明文密码很不安全,如果是几个人共享一台机器,其他人可以直接看到你的密码。

解决办法是将自己的域密码进行加密存储,步骤如下:

先创建一个明文密码文件/etc/profile.d/pw.txt,内容就是域密码,然后执行:

1
openssl enc -aes-256-cbc -in /etc/profile.d/pw.txt -out /etc/profile.d/pw.bin

得到加密后的密文,然后删除明文密码文件pw.txt。

阅读全文 »