
CAS
weixin_42073629
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
cas单点登录-服务管理cas-management部署(二十二)
本来这篇内容应该放到动态添加service之后讲的,决定放到最后,cas-management可以在线配置添加网站登录到cas服务器上,废话不说了,直接进入部署过程。参考官网https://apereo.github.io/cas/5.3.x/installation/Installing-ServicesMgmt-Webapp.html搭建过程pom.xmlpom是直接下载zip然后编译拷贝过来的。<?xml version="1.0" encoding="UTF-8"?&原创 2020-07-30 06:45:15 · 1986 阅读 · 3 评论 -
cas单点登录-分布式部署(二十一)
随着用户量的上升,单机的cas服务肯定是不行的,因此需要分布式来部署多台,要满足分布式部署,需要满足下面两个条件:1、采用统一的ticket存取策略,所有ticket的操作都从中央缓存redis中存取。2、采用session共享,tomcat的session的存取都从中央缓存redis中存取。(这一步可省略,我是将验证码放到了session中所以做session共享)第一步:redis存储ticket参考文档https://apereo.github.io/cas/5.3.x/install原创 2020-07-30 06:45:05 · 626 阅读 · 0 评论 -
cas单点登录-Cas Server开启Oauth2.0协议(二十)
学习Cas这么久了,一直在按照CAS自身的协议接入,Cas的强大在于有官方的插件,可以支持其他的协议,当然了,现在流行的Oauth2.0协议肯定是支持了,下面开始集成Oauth。参考博客https://apereo.github.io/cas/5.3.x/installation/OAuth-OpenId-Authentication.htmlhttps://apereo.github.io/cas/5.3.x/installation/Configuration-Properties.html#o原创 2020-07-30 06:44:55 · 2140 阅读 · 0 评论 -
cas单点登录-自定义返回信息给客户端(十九)
之前测试的时候,我们可以发现单点登录,默认是只返回登录的用户名,不会返回用户其他的信息,假如我们还需要用户的id,手机号之类的信息怎么办? 可以修改cas服务端,返回更多的信息给客户端。参考官网https://apereo.github.io/cas/development/integration/Attribute-Release-Policies.html1.首先要在注册Service的json中配置返回信息的规则比如:客户端A需要姓名和身份证号,客户端B需要昵称和头像这些公开信息,具体原创 2020-07-30 06:44:43 · 1285 阅读 · 0 评论 -
cas单点登录-自定义错误信息提示(十八)
上一篇,我们在登录页面添加了验证码,但是在测试的时候发现,无论是验证码错误,还是密码错误,都是提示的 认证信息无效。我们需要更改错误信息提示来增加用户体验。cas自定义错误信息需要以下几步:1.创建 一个异常类继承javax.security.auth.login.AccountExpiredException2.配置异常到application.properties中3.在messages_zh_CN.properties 配置文件中,配置异常弹出的消息使用maven的Overlay编译好之后,原创 2020-07-30 06:44:32 · 9348 阅读 · 2 评论 -
cas单点登录-重写Credential自定义表单信息(添加验证码)(十七)
本篇主要的知识点是为了讲解重写Credential来实现自定义表单信息,我们使用sso的时候往往登录不只是需要用户名密码,有时候可能还需要验证码,下面就要讲解如何重写Credential添加验证码。添加别的值也是一样的操作。验证码是有效防止暴力破解的一种手段,常用做法是在服务端产生一串随机字符串与当前用户会话关联(我们通常说的放入 Session),然后向终端用户展现一张经过“扰乱”的图片,只有当用户输入的内容与服务端产生的内容相同时才允许进行下一步操作.参考博客https://blog.csdn原创 2020-07-30 06:44:19 · 1891 阅读 · 1 评论 -
cas单点登录-配置记住我(十六)
正常情况下,在application.properties中配置开启记住我,在登录页面是会显示记住我的文本框,如下图:但是由于我们使用的是自定义登录页面,配置了记住我之后,页面上也没有显示该复选框,默认一直没有记住我,所以想要开启记住我,还需要将该文本框的代码粘贴到登录页。具体操作1.application.properties添加如下配置#记住我cas.ticket.tgt.rememberMe.enabled=truecas.ticket.tgt.rememberMe.timeToK原创 2020-07-30 06:44:06 · 669 阅读 · 1 评论 -
cas单点登录-自定义登出确认页面(十五)
上一篇我们自定义登录页面,登录页面和其他的页面更改方式有点不同,所以在上一篇中单独介绍过了,关于登出确认页面,也在之前的博客中有讲过,关于自定义登出确认页面,可以自己定义为自己的样式。关于页面的介绍这是最后一篇介绍,之后的都是同一个套路。具体操作首先找到casConfirmLogoutView.htmlcasConfirmLogoutView.html在templates的根目录下面,拷贝该页面,并粘贴到自己项目的相同路径下面,如下图:casConfirmLogoutView.html原创 2020-07-29 01:02:27 · 601 阅读 · 0 评论 -
cas单点登录-自定义登录页面(十四)
上有广告或者公司的logo等,下面开始进行自定义登录页面,查看官方文档,发现有动态主题和静态主题,下面只介绍静态主题模式。参考文档https://apereo.github.io/cas/5.3.x/installation/Configuration-Properties.html#themeshttps://apereo.github.io/cas/5.3.x/installation/User-Interface-Customization-Themes.html主题主题意味着风格不一原创 2020-07-29 01:00:11 · 1197 阅读 · 0 评论 -
cas单点登录-动态添加services(十三)
前面我们整合客户端的时候,需要在cas服务端注册,使用的是json文件的方式,更简单的一点,直接配置为只要是http或者https的请求,都表示注册,那也就没有本篇的动态添加services了,哈哈 不过,这也是一个不错的方法。假如,我们以域名配置的,比如:http://app1.cas.com注册,那么又有新的模块为http://app2.cas.com我们总不能每次修改配置,重启cas服务吧。这很不现实,官网给出了如下的解决方式,将数据库来存储这些数据。具体参考官网https://ape...原创 2020-07-29 00:51:45 · 2324 阅读 · 0 评论 -
cas单点登录-rest认证(十二)
我们之前在cas服务端整合了shiro,在shirorealm中通过查询数据库获取用户信息和角色等信息,如果都是内部服务,将从数据库中获取信息改为通过调用接口获取信息就可以了,这也是一种方式,这里是演示一下官网的配置。什么是Rest认证?cas服务端通过调用其他服务接口,将用户名和密码传过去进行认证。这就是rest认证。什么情况下需要用到Rest认证?在不允许cas服务直接访问账号数据库的时候,这个时候就需要用到Rest认证。具体参考官网https://apereo.github.i原创 2020-07-29 00:42:56 · 1904 阅读 · 0 评论 -
cas单点登录-单点登出(十一)
既然有单点登录,肯定就要有登出,之前的整合都是只针对了登录,对登出并没有关注,今天我们就来讲讲登出。关于单点登出原理,参考博客:https://blog.csdn.net/u010588262/article/details/80201983https://blog.csdn.net/gdsgdh308227363/article/details/80446168参数说明参考官网地址https://apereo.github.io/cas/5.3.x/installation/Configu原创 2020-07-29 00:39:32 · 1026 阅读 · 2 评论 -
cas单点登录-自定义鉴权路径(十)
客户端整合cas之后,无论我们访问什么地址,只要没有发现票据,都会跳转到cas服务端去进行登录。有时候我们有这样的需求,用户不登录也可以访问某些网页,这个时候就需要用到AuthenticationFilter的忽略地址功能。为了方便测试,我用一张图片来测试。如果只是简单的忽略地址,那很简单只要使用AuthenticationFilter的ignorePattern参数,具体操作如下:传统web项目配置方式1.配置资源映射我的图片放在WEB-INF/images下,默认是无法直接访问的,所以在s原创 2020-07-29 00:37:20 · 1924 阅读 · 0 评论 -
cas单点登录-编写自己的cas-starter(九)
前言写这篇文章的原因是在springBoot整合cas的过程中,我使用了一个别人写好的starter ,但是在整合单点登出的时候,发现多个客户端无法实现单点登出。经过查看源码,发现在这个starter中没有配置登出的filter。如果写成基于javaBean的配置也就一个类就能搞定,为了能学习一下如何实现一个 springboot的starter 所以来写一个 cas-client-spring-boot-starter。使用SpringBoot可以快速开发基于Spring框架的项目,SpringBo原创 2020-07-29 00:31:27 · 478 阅读 · 0 评论 -
cas单点登录-集成客户端-springboot方式(八)
之前整合了客户端的demo,也和spring整合了,现在的很多项目,都已经开始使用springboot了,spring传统方式是配置在web.xml中,Springboot和cas集成开发,主要也就是配置了四个过滤器,和一个监听器到Springboot中,其实和传统的配置方式,没有太大的区别。只是将web.xml配置都通过代码的配置改为基于javabean的配置。本次整合使用别人写好的一个starter。别人写好的第三方的starter,大家可以看一下源码,很简单,抽空我会写一篇 sprigboot自己实现原创 2020-07-29 00:23:56 · 471 阅读 · 0 评论 -
cas单点登录-集成客户端-传统spring方式(七)
上一篇博客,我们已经与客户端集成了,也实现了单点登录,一个系统登录之后,另一个系统无需再次登录,客户端是从官网下载的例子,一般我们的项目都是与spring集成的,那么本篇来整合spring,改造之前从官网下载的客户端。为了后面整合别的东西方便,这里直接将mybatis和springmvc整合进来。整合之后目录如下:整合了ssm,并且写了一个添加用户的功能,这些代码就不上了,看源码吧,只记录下面这些配置。整合过程1.客户端导入证书网上说必须保证客户端证书和服务端证书是同一个证书,不然就会原创 2020-07-29 00:19:19 · 316 阅读 · 0 评论 -
cas单点登录-集成客户端(六)
之前在服务端整合了数据库,也整合了shiro,我们一直是在服务端玩,登录跳转到登录成功页面,没啥意思,今天我们来将服务端和 客户端整合,使不同的客户端使用cas登录。cas服务端还是基于之前的整合shiro版本。环境概述ip 域名 对应服务 127.0.0.1 server.cas.com CAS服务器 127.0.0.1 app1.cas.com CAS客户端1 127.0.0.1 app2.cas.com CAS客户端2 配置域名原创 2020-07-29 00:14:04 · 655 阅读 · 0 评论 -
cas单点登录-服务端集成shiro权限认证(五)
所谓单点登录(SSO),只当企业用户同时访问多个不同(类型的)应用时,他们只需要提供自身的用户凭证信息(比如用户名/密码)一次,当用户在不同的应用间切换时,他们不用再重复地输入自身的用户凭证了。我的设计思路是SSO只做认证中心,各应用的授权在各自的服务做,比如 查看订单权限, 这个权限,它可能仅仅只是订单系统这个应用的权限。因此,授权应该在客户端做,本篇只是简单的介绍cas服务端与shiro 的集成, 只验证是否拥有角色,有角色就可以登录,没角色不可以登录。这里有两种方式第一种:一种是官网文档方式,原创 2020-07-28 23:59:16 · 1869 阅读 · 0 评论 -
cas单点登录-自定义登录验证(四)
我们在使用SSO单点登录的时候不只是验证一下用户名和密码是否一致,有时候还需要验证一些别的校验,那么这一张讲一下如何自定义验证器。自定义验证很重要,因为我们后续的很多功能,都是基于自定义验证。CAS服务器的org.apereo.cas.authentication.AuthenticationManager负责基于提供的凭证信息进行用户认证。与Spring Security很相似,实际的认证委托给了一个或多个实现了org.apereo.cas.authentication.AuthenticationHa原创 2020-07-28 23:57:03 · 2625 阅读 · 1 评论 -
cas单点登录-自定义密码认证(三)
参考官网https://apereo.github.io/cas/5.3.x/installation/Configuration-Properties-Common.html#password-encodingCAS在身份验证处理,基本都是基于Spring Security对密码编码,如果您计划设计自己的密码编码器或编写脚本来执行此操作,则可能还需要确保覆盖在运行时具有以下模块:<dependency> <groupId>org.springframework原创 2020-07-28 23:53:56 · 1235 阅读 · 0 评论 -
cas单点登录-JDBC认证(密码MD5和密码加盐)(二)
上一章搭建了单点登录的基本骨架,但是它的用户名和密码是写死的。显然,这样是不行的,用户名密码一般都存放在数据库中。本文将介绍如何让CAS支持MySQL存储用户名和密码。https://apereo.github.io/cas/5.3.x/installation/Configuration-Properties.htmlhttps://apereo.github.io/cas/5.3.x/installation/Configuration-Properties-Common.html#database原创 2020-07-26 16:18:41 · 1104 阅读 · 0 评论 -
cas单点登录-骨架搭建(一)
在多服务统一帐号的应用集中,单点登录是必不可少的。CAS就是成熟的单点登录框架之一。Github地址 https://github.com/apereo/cas。现在我们就通过一系列快速简单的构建方式实现一个简单的单点登录系统集。首先下载cas,下载最新版本 https://github.com/apereo/cas-overlay-template域名映射修改/etc/hosts文件,添加服务端域名(server.cas.com) 以及两个客户端的域名(app1.cas.com , app2.c转载 2020-08-05 17:19:54 · 574 阅读 · 0 评论 -
CAS单点登录系统简介
一、cas简介全名:Central Authentication Service特点: 1、开源的、多协议的 SSO 解决方案; Protocols : Custom Protocol 、 CAS 、 OAuth 、 OpenID 、 RESTful API 、 SAML1.1 、 SAML2.0 等。 2、支持多种认证机制: Active Directory 、 JAAS 、 ...原创 2019-12-25 17:00:43 · 435 阅读 · 0 评论