zoukankan      html  css  js  c++  java
  • CAS学习笔记一:CAS 授权服务器简易搭建

    什么是CAS

    CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS 是 耶鲁大学(Yale University)发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。

    简单来说,就是开源的企业级单点登录(SSO)服务。

    CAS Server 搭建思路

    CAS 官方提供了一种使用 Apereo CAS WAR Overlay Template 的方式(开发人员通过 克隆模板仓库https://github.com/apereo/cas-overlay-template ,修改Maven/Gradle配置引入官方发布War包依赖,构建时将变更的文件更新到新的War中)简化了开发人员二次开发复杂性,提高了开发效率。

    对于简单部署一个CAS 服务端,就可以直接下载 Maven 仓库中的War包进行部署,本文亦使用此方法部署 5.3.16 版本的CAS 服务端。如需定制开发,请使用官方模板仓库进行开发。

    CAS 服务端 5.x 使用 JDK 1.8,6.x 开始使用 JDK 11,由于公司项目在用1.8,就用 CAS 5.x 最新版本 5.3.16 了

    下载Maven仓库War包

    https://repo1.maven.org/maven2/org/apereo/cas/cas-server-webapp-tomcat/5.3.16/

    下载 Tomcat 9

    https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/

    使用 Tomcat 9 部署 CAS server

    将Tomcat 9 安装包 与 CAS war包上传到Linux服务器,本文上传到 /opt 目录下。省略 JDK 安装步骤。

    #解压tomcat
    tar zxf apache-tomcat-9.0.56.tar.gz
    #解压CAS War包到 tomcat 部署目录下
    unzip -q cas-server-webapp-tomcat-5.3.16.war -d apache-tomcat-9.0.56/webapps/cas
    #启动tomcat
    cd apache-tomcat-9.0.56/bin
    ./startup.sh
    

    #查看日志
    cd ..
    tail -f logs/catalina.out
    

    出现Ready后,Ctrl+C停止日志输出控制台,访问服务器IP:8080,查看tomcat是否启动成功

    访问 Cas Server,服务器IP:8080/cas

    默认用户名与密码在配置文件application.properties中(CAS 服务端是用SpringBoot实现的)

    #打开配置文件
    vim /opt/apache-tomcat-9.0.56/webapps/cas/WEB-INF/classes/application.properties
    #Shift + G 跳转到最后,能看到casuser是用户名,Mellon是密码
    

    输入用户名与密码,登录

    提示登录成功,到此一个最基础的CAS服务端搭建完成了,接下来将开启 http 协议支持,这是用来应用服务授权时使用的。

    调整 CAS 服务端配置

    默认CAS 服务端将 http 协议的客户端都认为是不合法的,需要修改配置文件 HTTPSandIMAPS-10000001.json 添加 http协议支持。

    cd /opt/apache-tomcat-9.0.56/webapps/cas/WEB-INF/classes/services
    vim HTTPSandIMAPS-10000001.json
    

    添加绿框部分文字 |http,添加 http 协议支持。

    修改完成保存退出,还需要编辑 application.properties

    vim /opt/apache-tomcat-9.0.56/webapps/cas/WEB-INF/classes/application.properties
    #在配置文件最后添加如下两行
    cas.tgc.secure=false #取消票根对应的Cookie的Secure配置,否则非https无法完成单点登录(但是能达到每个应用都需要登录的目的)
    cas.serviceRegistry.initFromJson=true #使用services目录下的json配置初始化serviceRegistry
    

    重启 tomcat 就可以使用应用服务进行单点登录测试了。

    本文同步于本人博客园(hellxz.cnblogs.com) 与 CSDN(https://blog.csdn.net/u012586326)

  • 相关阅读:
    POJ 1556 The Doors (未完)
    setblendstate & setdepthstencilstate
    transparent 的新问题
    texCUBE() to CubemapSampler.Sample()
    error: The shader requires a sampler in slot 0 which hasn't been set [XXXsampler]
    error X3025:global variables are implicitly constant, enable compatibility mode to allow modification
    MSAA
    check environment var
    setDepthStencilState
    sampler state
  • 原文地址:https://www.cnblogs.com/hellxz/p/15740935.html
Copyright © 2011-2022 走看看