CAS SSO 安装

CAS 是开源的企业级SSO系统,好多世界500强的企业都在用。

架构

CAS的架构如下图:
架构图

系统组成

CAS 系统分为CAS Server和CAS Clients

CAS Server即使用java spring框架编码的服务端,提供给客户端认证的接口,认证通过后提供ticket。
CAS Clients即使用CAS Server提供服务的客户端,通过支持的协议与服务端进行通信。

支持的平台:

  • Apache httpd Server (mod_auth_cas module)
  • Java (Java CAS Client)
  • .NET (.NET CAS Client)
  • PHP (phpCAS)
  • Perl (PerlCAS)
  • Python (pycas)
  • Ruby (rubycas-client)

支持的应用:

  • Outlook Web Application (ClearPass + .NET CAS Client)
  • Atlassian Confluence
  • Atlassian JIRA
  • Drupal
  • Liferay
  • uPortal

支持的协议:

  • CAS (versions 1, 2, and 3)
  • SAML 1.1
  • OpenID
  • OAuth (1.0, 2.0)

安装

  1. 下载CAS
    访问 https://www.apereo.org/projects/cas/download-cas
    点击要下载的版本, CAS v4.2.1
    在打开的页面下载 CAS 的源码
  2. 解压 CAS 源码,得到目录 cas-4.2.1
  3. 命令进入 CAS 源码目录 cas-4.2.1
  4. 执行命令 gradle :cas-server-webapp:build 编译 CAS 的 webapp
  5. 编译结束后得到 cas-4.2.1/cas-server-webapp/build/libs/cas-server-webapp-4.2.1.war
  6. 复制 cas-server-webapp-4.2.1.war 到 /webapps 下并重命名为 cas.war
  7. CAS Server 默认需要使用 https,Tomcat 启用 https,请参考 Tomcat 启用 https
  8. 启动 Tomcat
  9. 访问 https://127.0.0.01:8443/cas
  10. 输入用户名 casuser,密码 Mellon
  11. 登陆成功
    1
    2
    3
    CAS 默认的用户名密码 casuser/Mellon 是不是不好记?没关系,可以修改 cas/WEB-INF/cas.properties 中的 accept.authn.users 为你想要的,例如修改为
    accept.authn.users=admin::admin
    accept.authn.users=admin::Passw0rd,alice::Passw0rd

CAS的认证逻辑

cas

5.2.x 版本安装步骤

  1. 下载源码 https://github.com/apereo/cas/archive/v5.2.1.zip
  2. 解压
  3. cd cas-server-5.2.1
  4. 编辑 vim gradle/wrapper/gradle-wrapper.properties
    1
    2
    #distributionUrl=https\://services.gradle.org/distributions/gradle-3.1-bin.zip
    distributionUrl=https\://downloads.gradle.org/distributions/gradle-3.1-bin.zip
你的支持我的动力