CAS搭建

  1. 下载cas maven overlay template代码,https://github.com/apereo/cas-overlay-template
  2. 目前最新版是6.x,但是需要java11以上,我们还是使用java8,所以选择了5.3
  3. 打开工程,如果要让cas直接连接数据库做用户验证,在POM里添加依赖:
        <dependency>
            <groupId>org.apereo.cas</groupId>
            <artifactId>cas-server-support-jdbc</artifactId>
            <version>${cas.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apereo.cas</groupId>
            <artifactId>cas-server-support-jdbc-drivers</artifactId>
            <version>${cas.version}</version>
        </dependency>

如果连接oracle数据库,需要额外添加oracle驱动

        <dependency>
          <groupId>com.oracle.database.jdbc</groupId>
          <artifactId>ojdbc11-production</artifactId>
          <version>21.3.0.0</version>
          <type>pom</type>
        </dependency>
  1. 配置文件默认位置/etc/cas/config/cas.properties,添加数据库配置:
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=123456
cas.authn.jdbc.query[0].driverClass=oracle.jdbc.driver.OracleDriver
cas.authn.jdbc.query[0].url=jdbc:oracle:thin:@192.168.1.2:1521:orcl
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.Oracle11gDialect
cas.authn.jdbc.query[0].sql=SELECT USERNAME,PASSWORD FROM USERS WHERE USERNAME=?
cas.authn.jdbc.query[0].fieldPassword=PASSWORD
  1. 禁用默认用户
cas.authn.accept.users=
  1. 数据库密码字段如果是加密的,需要cas配置加密信息,以BCRYPT为例:
cas.authn.jdbc.query[0].passwordEncoder.type=BCRYPT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.query[0].passwordEncoder.strength=10
  1. 三方系统对接CAS SSO时,需要在cas中配置哪些服务可以访问cas,可以通过添加下面的依赖,然后通过配置外部的json文件来配置service。
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-json-service-registry</artifactId>
    <version>${cas.version}</version>
</dependency>

配置文件里添加service文件路径

cas.serviceRegistry.json.location=file:/etc/cas/services

在/etc/cas/services里新建gateway-1.json文件,文件名有要求,必须是{name}-{id}.json, serviceId是系统的url,支持通配符。例如:

{
  "@class" : "org.jasig.cas.services.RegexRegisteredService",
  "serviceId" : "^http://.*",
  "name" : "gateway",
  "theme" : "gateway",
  "id" : 1,
  "description" : "Gateway",
  "evaluationOrder" : 10,
  "accessStrategy" : {
    "@class" : "org.jasig.cas.services.DefaultRegisteredServiceAccessStrategy",
    "enabled" : true,
    "ssoEnabled" : true
  }
}

完整属性参考https://apereo.github.io/cas/5.3.x/installation/Service-Management.html

  1. 执行build.sh package,然后将cas.war放到tomcat里启动。

至此,一个基本功能的cas server搭建完毕,如果用到生产环境,要配置https,高可用等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容