一个中文文档地址: http://www.cassso-china.cn/apereo_github_cas_5.2/apereo.github.io/cas/5.2.x/

================================

待整理博客:

取消https,添加http:https://www.cnblogs.com/jpeanut/p/9249053.html

https://blog.csdn.net/oumuv/article/details/83377945

========================

postgres   jdbc 数据库认证用户名和密码:

https://blog.csdn.net/oumuv/article/details/84306361

https://blog.csdn.net/u010475041/article/details/77943965

注销静态验证

cas.authn.accept.users=user::

添加postgres配置:

#Query Database Authentication 数据库查询校验用户名开始
#查询账号密码sql,必须包含密码字段
cas.authn.jdbc.query[].sql=select * from user_info where username=?
#指定上面的sql查询字段名(必须)
cas.authn.jdbc.query[].fieldPassword=password
#指定过期字段,1为过期,若过期不可用(可选)
#cas.authn.jdbc.query[].fieldExpired=expired
#为不可用字段段,1为不可用,需要修改密码(可选)
#cas.authn.jdbc.query[].fieldDisabled=disabled
#数据库方言hibernate的
cas.authn.jdbc.query[].dialect=org.hibernate.dialect.PostgreSQLDialect
#数据库驱动
cas.authn.jdbc.query[].driverClass=org.postgresql.Driver
#数据库连接
cas.authn.jdbc.query[].url=jdbc:postgresql://${postgre_host:192.168.1.68}:${postgre_port:5432}/${postgres_database:test}?useSSL=false&characterEncoding=utf-8&rewriteBatchedStatements=true&autoReconnect=true&useServerPrepStmts=false&stringtype=unspecified
#数据库用户名
cas.authn.jdbc.query[].user=root
#数据库密码
cas.authn.jdbc.query[].password=root
#默认加密策略,通过encodingAlgorithm来指定算法,默认NONE不加密
#cas.authn.jdbc.query[].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[].passwordEncoder.type=NONE
cas.authn.jdbc.query[].passwordEncoder.characterEncoding=UTF-
cas.authn.jdbc.query[].passwordEncoder.encodingAlgorithm=MD5
#Query Database Authentication 数据库查询校验用户名结束

sso-server/pom.xml:

<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc</artifactId>
<version>${cas.version}</version>
</dependency> <dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.5</version>
</dependency> <!--
若不想找驱动可以直接写下面的依赖即可,其中包括
HSQLDB、Oracle、MYSQL、PostgreSQL、MariaDB、Microsoft SQL Server
-->
<!--
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc-drivers</artifactId>
<version>${cas.version}</version>
</dependency>
-->

字段名         字段类型      备注
username   varchar      登录账号
password   varchar       密码
expired       int             过期字段, 1为过期,需修改密码
disable       int             不可用字段,1为不可用,禁用
email          varchar     邮箱,可不需要

===============================

复制一个客户端,修改一下端口防止冲突,测试单点登录效果

搞定!

===================

两个客户端单点登出OK

https://blog.csdn.net/oumuv/article/details/84323292

===========================

替换登录页:https://blog.csdn.net/u010475041/article/details/78201261

============

客户端注册json文件命名规则:

文件名按照规范用name-serviceId.json吧,里面的内容也很好理解:

- @class:必须为org.apereo.cas.services.RegisteredService的实现类 
- serviceId:对服务进行描述的表达式,可用于匹配一个或多个 URL 地址 
- name: 服务名称 
- id:全局唯一标志 
- evaluationOrder:定义多个服务的执行顺序
https://blog.csdn.net/weixin_39819191/article/details/80360809

=================

自定义数据库身份验证:https://apereo.github.io/2017/02/02/cas51-authn-handlers/

https://blog.csdn.net/weixin_39819191/article/details/80360760

还没验证是否可行

================

sso cas 坑的更多相关文章

  1. 【Java EE 学习 68】【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】

    单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...

  2. 【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】

    单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...

  3. sso CAS

    sso:single sign on,在多个应用系统中,用户只需要登陆一次就可以访问所有相互信任的应用系统 CAS框架:Central Authentication Service是实现sso单点登录 ...

  4. 使用sso(cas)的时候报单点登录service不匹配问题分析及解决

    最近在使用portal做企业门户网站,其中使用了sso.在集成了多个应用之后在portal中点击集成的应用报错 2017-05-31 08:37:16,950 ERROR [org.jasig.cas ...

  5. 单点登录(两种单点登录类型:SSO/CAS、相同一级域名的SSO)

    单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...

  6. SSO CAS 单点系列

    在多系统应用群中,使用,例如,用户账户管理,用户应该有一个统一的账户,不应该让用户在每个子系统分别注册 登陆再分别登出.这就是我们所说的单点登陆问题,即SSO: SSO问题,时大中型web应用经常碰到 ...

  7. 《SSO CAS单点系列》之 APP原生应用如何访问CAS认证中心

    4.开发支持APP登录的移动服务端接口.接收APP登录请求,采用HttpClient转发至CAS认证中心登录,返回json数据解析并最终返回给客户端.本地会话采用redis维护,登录成功,返回acce ...

  8. (转)《SSO CAS单点系列》之 实现一个SSO认证服务器是这样的!

    上篇我们引入了SSO这个话题<15分钟了解SSO是个什么鬼!>.本篇我们一步步深入分析SSO实现机理,并亲自动手实现一个线上可用的SSO认证服务器!首先,我们来分析下单Web应用系统登录登 ...

  9. (转)《SSO CAS单点系列》之 15分钟让你了解SSO技术到底是个什么鬼!

    Web应用系统的演化总是从简单到复杂,从单功能到多功能模块再到多子系统方向发展. .当前的大中型Web互联网应用基本都是多系统组成的应用群,由多个web系统协同为用户提供服务. 多系统应用群,必然意味 ...

随机推荐

  1. nginx 日志之 error_log

    Nginx错误日志平时不用太关注,但是一旦出了问题,就需要借助错误日志来判断问题所在. 配置参数格式:error_log /path/to/log level; Nginx错误日志级别 常见的错误日志 ...

  2. nginx 常用全局变量

    变量 说明 $args 请求中的参数,如www.123.com/1.php?a=1&b=2的$args就是a=1&b=2 $content_length HTTP请求信息里的" ...

  3. [技术博客] win10下vagrant+centos7 rails虚拟开发机配置流程

    由于少昂早年已经在此踩过坑了,因此在这里,我们现在直接贴上他早年的博客链接:https://www.cnblogs.com/HansBug/p/7403306.html

  4. Windows系统中CreateFileMapping实现的共享内存及用法

    在32位的Windows系统中,每一个进程都有权访问他自己的4GB(232=4294967296)平面地址空间,没有段,没有选择符,没有near和far指针,没有near和far函数调用,也没有内存模 ...

  5. windows server core 2016 IIS远程管理的那些坑

    打算从win10访问数据中心版2016 core,结果IIS远程管理不了. 需要修改core上防火墙和注册表,开启一些相关服务. 具体需要如下操作. 1.win10 启用IIS管理特性 2.参考htt ...

  6. Mockito 的用法

    本文为博主原创,转载请注明出处: Mockito 是一个基于MIT协议的开源java测试框架. Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为.对于moc ...

  7. [转]JsonCpp遍历json

    #include "json.h" typedef Json::Writer JsonWriter; typedef Json::Reader JsonReader; typede ...

  8. SpringBoot入门-MongoDB(五)

    安装MongoDB 安装MongoDB MongoDB用户.数据库相关命令操作 https://www.jianshu.com/p/237a0c5ad9fa # 创建用户以及角色 use spring ...

  9. 【转】京东金融App端链路服务端全链路压测策略

    京东金融移动端全链路压测历时三个月,测试和服务端同学经过无数日日夜夜,通宵达旦,终于完成了移动端链路的测试任务.整个测试有部分涉及到公司敏感数据,本文只对策略部分进行论述. 1.系统架构与策略 在聊性 ...

  10. python工程设置工具(pipenv)

    原始安装 pip工具 --- 包安装工具, 可以从Python包索引hub上安装,也可以使用自定义的hub. 命令: pip install xxx 缺点: 1.命令方式, 一次只能安装一个包, 对于 ...