<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>单点登录 on 知识铺的博客</title>
    <link>https://index.zshipu.com/geek001/tags/%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95/</link>
    <description>Recent content in 单点登录 on 知识铺的博客</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Mon, 06 May 2024 01:56:32 +0000</lastBuildDate>
    <atom:link href="https://index.zshipu.com/geek001/tags/%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用单点登录（SSO）提高用户体验</title>
      <link>https://index.zshipu.com/geek001/post/20240505/%E4%BD%BF%E7%94%A8%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95SSO%E6%8F%90%E9%AB%98%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Mon, 06 May 2024 01:56:32 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240505/%E4%BD%BF%E7%94%A8%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95SSO%E6%8F%90%E9%AB%98%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>[ ](https://zshipu.com/t/?url=https://.com/%40jay-reddy?source=post_page-----af7bca3f5fff--------------------------------)[ ](https://zshipu.com/t/?url=https://.com/nerd-for-tech?source=post_page-----af7bca3f5fff--------------------------------) 照片由 亚历山大·希梅克 on Unsplash 虚拟生活很好。每天都有新的服务和产品出现，提供比上一个更具吸引力和花哨的功能。参加这项服务的诱惑非常高，对许多人来说是不可抗拒的。 我们生活在一个大多数决定都是由在线趋势而不是选择有用的服务做出的世界中。 但是，许多服务都会带来许多密码。 为每项新服务设</description>
    </item>
    <item>
      <title>使用SSO提高用户登录体验</title>
      <link>https://index.zshipu.com/geek001/post/20240505/%E4%BD%BF%E7%94%A8SSO%E6%8F%90%E9%AB%98%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E4%BD%93%E9%AA%8C--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 07:11:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240505/%E4%BD%BF%E7%94%A8SSO%E6%8F%90%E9%AB%98%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E4%BD%93%E9%AA%8C--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>照片由 亚历山大·希梅克 on Unsplash 虚拟生活很好。每天都有新的服务和产品出现，提供比上一个更具吸引力和花哨的功能。参加这项服务的诱惑非常高，对许多人来说是不可抗拒的。 我们生活在一个大多数决定都是由在线趋势而不是选择有用的服务做出的世界中。 但是，许多服务都会带来许多密码。 为每项新服务设置不同</description>
    </item>
    <item>
      <title>通过单点登录（SSO）提高用户注册率和登录体验</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E9%80%9A%E8%BF%87%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95SSO%E6%8F%90%E9%AB%98%E7%94%A8%E6%88%B7%E6%B3%A8%E5%86%8C%E7%8E%87%E5%92%8C%E7%99%BB%E5%BD%95%E4%BD%93%E9%AA%8C--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 07:08:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E9%80%9A%E8%BF%87%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95SSO%E6%8F%90%E9%AB%98%E7%94%A8%E6%88%B7%E6%B3%A8%E5%86%8C%E7%8E%87%E5%92%8C%E7%99%BB%E5%BD%95%E4%BD%93%E9%AA%8C--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>照片由 亚历山大·希梅克 on Unsplash 虚拟生活很好。每天都有新的服务和产品出现，提供比上一个更具吸引力和花哨的功能。参加这项服务的诱惑非常高，对许多人来说是不可抗拒的。 我们生活在一个大多数决定都是由在线趋势而不是选择有用的服务做出的世界中。 但是，许多服务都会带来许多密码。 为每项新服务设置不同</description>
    </item>
    <item>
      <title>通过单点登录（SSO）简化用户登录体验</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E9%80%9A%E8%BF%87%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95SSO%E7%AE%80%E5%8C%96%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E4%BD%93%E9%AA%8C--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 07:03:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E9%80%9A%E8%BF%87%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95SSO%E7%AE%80%E5%8C%96%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E4%BD%93%E9%AA%8C--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>照片由 亚历山大·希梅克 on Unsplash 虚拟生活很好。每天都有新的服务和产品出现，提供比上一个更具吸引力和花哨的功能。参加这项服务的诱惑非常高，对许多人来说是不可抗拒的。 我们生活在一个大多数决定都是由在线趋势而不是选择有用的服务做出的世界中。 但是，许多服务都会带来许多密码。 为每项新服务设置不同</description>
    </item>
    <item>
      <title>Spring Boot 2.0 集成 Shiro 和 Pac4j CAS 单点登录配置教程</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Spring-Boot-2.0-%E9%9B%86%E6%88%90-Shiro-%E5%92%8C-Pac4j-CAS-%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:59:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Spring-Boot-2.0-%E9%9B%86%E6%88%90-Shiro-%E5%92%8C-Pac4j-CAS-%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>一、CAS简介 CAS 是 Central Authentication Service 的缩写 —— 中央认证服务，一种独立开放指令协议，是 Yale 大学发起的一个企业级开源项目，旨在为 Web 应用系统提供一种可靠的 SSO 解决方案。 CAS 支持以下特性： CAS v1, v2 和 v3 协议 SAML v1 和 v2 协议 OAuth v2 协议 OpenID &amp;amp; OpenID Connect 协议 WS-Federation Passive Requestor 协议 通过 JAAS, LDAP, RDBMS, X.509, Radius, SPNEGO, JWT, Remote, Trusted, BASIC, Apache Shiro, MongoDb, Pac4J 等组件进行身份验证 将身份验证委</description>
    </item>
    <item>
      <title>SpringBoot集成CAS单点登录实践</title>
      <link>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E9%9B%86%E6%88%90CAS%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E5%AE%9E%E8%B7%B5--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:58:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E9%9B%86%E6%88%90CAS%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E5%AE%9E%E8%B7%B5--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>前言：接上一篇，已经搭建好cas服务器，现在开始集成springboot客户端，由于使用的框架是开源热门springboot项目bootdo，这里直接用bootdo作演示，另外提供一个简单的springboot的demo用作参考。 1.导入所需maven包 1 2 3 4 5 6 7 8 9 10 11 12 13</description>
    </item>
    <item>
      <title>SpringBoot集成Pac4j-Cas实现单点登录的完整示例</title>
      <link>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E9%9B%86%E6%88%90Pac4j-Cas%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E7%9A%84%E5%AE%8C%E6%95%B4%E7%A4%BA%E4%BE%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:57:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E9%9B%86%E6%88%90Pac4j-Cas%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E7%9A%84%E5%AE%8C%E6%95%B4%E7%A4%BA%E4%BE%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>前言： 之前项目使用springmvc开发的cas client,由于以后新项目需要改用springboot开发，所以需要使用springboot来实现cas的单点登录、并完成对自定义需求的实现；之前使用shiro-cas,官方在1.3版本已经标注了过时，根据推荐使用了pac4j-c</description>
    </item>
    <item>
      <title>使用buji-pac4j和CAS实现单点登录</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E4%BD%BF%E7%94%A8buji-pac4j%E5%92%8CCAS%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:50:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E4%BD%BF%E7%94%A8buji-pac4j%E5%92%8CCAS%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>VIP文章 H阿布 于 2018-02-01 18:22:35 发布 在pac4j探索的上一篇文章大致讲述了一下buji-pac4j+CAS的认证流程。这里记录一下本人实现的最简单的单点登录，仅作为笔记、学习交流之用，戳这里获取本文源码。 一、项目框架 1、 buji-pac4j（v.3.0.0） 2、shiro (v.1.4.0) 3、spring</description>
    </item>
    <item>
      <title>Shiro整合CAS单点登录配置</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Shiro%E6%95%B4%E5%90%88CAS%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%85%8D%E7%BD%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:49:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Shiro%E6%95%B4%E5%90%88CAS%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%85%8D%E7%BD%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>引入依赖 &amp;amp;lt;dependencies&amp;amp;gt; &amp;amp;lt;!-- shiro-spring --&amp;amp;gt; &amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.apache.shiro&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;shiro-spring&amp;amp;lt;/artifactId&amp;amp;gt; &amp;amp;lt;/dependency&amp;amp;gt; &amp;amp;lt;!-- buji-pac4j --&amp;amp;gt; &amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;io.buji&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;buji-pac4j&amp;amp;lt;/artifactId&amp;amp;gt; &amp;amp;lt;version&amp;amp;gt;4.1.0&amp;amp;lt;/version&amp;amp;gt; &amp;amp;lt;/dependency&amp;amp;gt; &amp;amp;lt;!-- shiro-cas --&amp;amp;gt; &amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.pac4j&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;pac4j-cas&amp;amp;lt;/artifactId&amp;amp;gt; &amp;amp;lt;version&amp;amp;gt;3.6.1&amp;amp;lt;/version&amp;amp;gt; &amp;amp;lt;/dependency&amp;amp;gt; &amp;amp;lt;/dependencies&amp;amp;gt; 配置web.xml文件 &amp;amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;amp;gt; &amp;amp;lt;web-app xmlns:xsi=&amp;#34;http://www.w3.org/2001/XMLSchema-instance&amp;#34; xmlns=&amp;#34;http://java.sun.com/xml/ns/javaee&amp;#34; xsi:schemaLocation=&amp;#34;http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd&amp;#34; version=&amp;#34;3.0&amp;#34;&amp;amp;gt; &amp;amp;lt;!-- 配置单点退出过滤器 --&amp;amp;gt; &amp;amp;lt;filter&amp;amp;gt; &amp;amp;lt;filter-name&amp;amp;gt;ssoutFilter&amp;amp;lt;/filter-name&amp;amp;gt; &amp;amp;lt;filter-class&amp;amp;gt;org.jasig.cas.client.session.SingleSignOutFilter&amp;amp;lt;/filter-class&amp;amp;gt; &amp;amp;lt;!-- 配置CAS服务URL前缀 --&amp;amp;gt; &amp;amp;lt;init-param&amp;amp;gt; &amp;amp;lt;param-name&amp;amp;gt;casServerUrlPrefix&amp;amp;lt;/param-name&amp;amp;gt; &amp;amp;lt;param-value&amp;amp;gt;http://sso.pinyougou.com&amp;amp;lt;/param-value&amp;amp;gt; &amp;amp;lt;/init-param&amp;amp;gt; &amp;amp;lt;/filter&amp;amp;gt; &amp;amp;lt;filter-mapping&amp;amp;gt; &amp;amp;lt;filter-name&amp;amp;gt;ssoutFilter&amp;amp;lt;/filter-name&amp;amp;gt; &amp;amp;lt;url-pattern&amp;amp;gt;/*&amp;amp;lt;/url-pattern&amp;amp;gt; &amp;amp;lt;/filter-mapping&amp;amp;gt; &amp;amp;lt;!-- 配置Spring核心监听器 --&amp;amp;gt; &amp;amp;lt;context-param&amp;amp;gt; &amp;amp;lt;param-name&amp;amp;gt;contextConfigLocation&amp;amp;lt;/param-name&amp;amp;gt; &amp;amp;lt;param-value&amp;amp;gt;classpath:applicationContext-*.xml&amp;amp;lt;/param-value&amp;amp;gt; &amp;amp;lt;/context-param&amp;amp;gt; &amp;amp;lt;listener&amp;amp;gt; &amp;amp;lt;listener-class&amp;amp;gt;org.springframework.web.context.ContextLoaderListener&amp;amp;lt;/listener-class&amp;amp;gt; &amp;amp;lt;/listener&amp;amp;gt; &amp;amp;lt;!-- 配置Spring委派过滤器代理(要求Spring容器中有了个b</description>
    </item>
    <item>
      <title>shiro配置中添加单点登录登出过滤器后启动报错</title>
      <link>https://index.zshipu.com/geek001/post/20240428/shiro%E9%85%8D%E7%BD%AE%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E7%99%BB%E5%87%BA%E8%BF%87%E6%BB%A4%E5%99%A8%E5%90%8E%E5%90%AF%E5%8A%A8%E6%8A%A5%E9%94%99--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:44:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/shiro%E9%85%8D%E7%BD%AE%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E7%99%BB%E5%87%BA%E8%BF%87%E6%BB%A4%E5%99%A8%E5%90%8E%E5%90%AF%E5%8A%A8%E6%8A%A5%E9%94%99--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>之前没在shiroConfig里加public FilterRegistrationBean singleSignOutFilter() ；可以实现单点登录，登出有问题，家里这个方法后，启动报错： java.lang.IllegalArgumentException: casServerUrlPrefix cannot be null. at org.jasig.cas.client.util.CommonUtils.assertNotNull(CommonUtils.java:87) at org.jasig.cas.client.session.SingleSignOutHandler.init(SingleSignOutHandler.java:130) at org.jasig.cas.client.session.SingleSignOutFilter.init(SingleSignOutFilter.java:54) &amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip; package com.audaque.gm.config; import com.audaque.gm.modules.sys.shiro.ShiroPermsFilterFactoryBean; import com.audaque.gm.modules.sys.shiro.UserFilter; import com.audaque.gm.modules.sys.shiro.UserPermFilter; import com.audaque.gm.modules.sys.sso.CallbackFilter; import com.audaque.gm.modules.sys.sso.CasRealm; import com.audaque.gm.support.shiro.listener.UserSessionListener; import com.audaque.gm.support.shiro.session.UserSessionDAO; import com.audaque.gm.support.shiro.session.UserSessionFactory; import io.buji.pac4j.filter.LogoutFilter; import io.buji.pac4j.filter.SecurityFilter; import io.buji.pac4j.subject.Pac4jSubjectFactory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.session.SessionListener; import org.apache.shiro.session.mgt.SessionManager; import org.apache.shiro.session.mgt.eis.MemorySessionDAO; import org.apache.shiro.session.mgt.eis.SessionDAO; import org.apache.shiro.spring.LifecycleBeanPostProcessor; import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.apache.shiro.web.servlet.SimpleCookie; import org.apache.shiro.web.session.mgt.DefaultWebSessionManager; import org.jasig.cas.client.session.SingleSignOutFilter; import org.jasig.cas.client.session.SingleSignOutHttpSessionListener; import org.pac4j.core.config.Config; import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletListenerRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import org.springframework.web.filter.DelegatingFilterProxy;</description>
    </item>
    <item>
      <title>告别shiro-cas单点登录集成库，这款简单且强壮的Java Web安全引擎pac4j你值得拥有</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E5%91%8A%E5%88%ABshiro-cas%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%9B%86%E6%88%90%E5%BA%93%E8%BF%99%E6%AC%BE%E7%AE%80%E5%8D%95%E4%B8%94%E5%BC%BA%E5%A3%AE%E7%9A%84Java-Web%E5%AE%89%E5%85%A8%E5%BC%95%E6%93%8Epac4j%E4%BD%A0%E5%80%BC%E5%BE%97%E6%8B%A5%E6%9C%89--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:41:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E5%91%8A%E5%88%ABshiro-cas%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%9B%86%E6%88%90%E5%BA%93%E8%BF%99%E6%AC%BE%E7%AE%80%E5%8D%95%E4%B8%94%E5%BC%BA%E5%A3%AE%E7%9A%84Java-Web%E5%AE%89%E5%85%A8%E5%BC%95%E6%93%8Epac4j%E4%BD%A0%E5%80%BC%E5%BE%97%E6%8B%A5%E6%9C%89--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>告别shiro-cas单点登录集成库，这款简单且强壮的Java Web安全引擎pac4j你值得拥有 一、缘何遇到该引擎 二、引擎能力 三、引擎特征 四、十大核心组件 五、项目移植 5.1 导包 5.2 配置 5.3 重写认证和授权函数 5.4 调试 5.4.1 CAS验证原理 5.4.2 单点登录流程分析 5.5 完成 pac4j官网地址传送门。 pac4j</description>
    </item>
    <item>
      <title>Cas与Shiro集成实现单点登录的代码实现及数据流转过程</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Cas%E4%B8%8EShiro%E9%9B%86%E6%88%90%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E7%9A%84%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0%E5%8F%8A%E6%95%B0%E6%8D%AE%E6%B5%81%E8%BD%AC%E8%BF%87%E7%A8%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:39:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Cas%E4%B8%8EShiro%E9%9B%86%E6%88%90%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E7%9A%84%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0%E5%8F%8A%E6%95%B0%E6%8D%AE%E6%B5%81%E8%BD%AC%E8%BF%87%E7%A8%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>前言 上一篇文章介绍了 cas 环境搭建过程 本文介绍下cas和shiro集成代码实现及数据流转过程简介 先看下实现的效果 1 2 3 访问 http://localhost:8086/demo1 转发到认证中心 1 2 3 输入登陆账号 回到demo1页面 1 2 3 再次访问 http://localhost:8086/demo1 直接会跳转到 demo1页面 点击退出 项目启动[按照运行顺序] 实例化 LifecycleBeanPostProcessor bean生命周期管理类 1 使用</description>
    </item>
    <item>
      <title>集成CAS服务实现单点登录和登出</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E9%9B%86%E6%88%90CAS%E6%9C%8D%E5%8A%A1%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E5%92%8C%E7%99%BB%E5%87%BA--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:38:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E9%9B%86%E6%88%90CAS%E6%9C%8D%E5%8A%A1%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E5%92%8C%E7%99%BB%E5%87%BA--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>环境： casServer 5.2.6 pac4j-cas 3.0.2 buji-pac4j 4.0.0 shiro 1.9.1 （ruoyi不分离版） 集成 先按照这个帖子集成 客户端配置成IP地址 启动两个客户端，在直接写IP地址的情况下就可以实现单点登录和单点登出。 域名单点登出 按照上面配置好，把cas服务和客户端地址改成域名，就会发现服务A退出登录，服务B却依然在线，只能等ST过期后才会</description>
    </item>
    <item>
      <title>springboot&#43;cas&#43;shiro&#43;pac4j实现单点登录问题</title>
      <link>https://index.zshipu.com/geek001/post/20240428/springboot&#43;cas&#43;shiro&#43;pac4j%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%97%AE%E9%A2%98--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:29:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/springboot&#43;cas&#43;shiro&#43;pac4j%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%97%AE%E9%A2%98--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>前景提要 springboot+cas+shiro+pac4j实现单点登录，但是登出有问题，服务端退出了，客户端还是登录状态！ 0 [待解决问题] 之前没在shiroConfig里加public FilterRegistrationBean singleSignOutFilter() ；可以实现单点登录，登出有问题，家里这个方法后，启动报错： java.lang.IllegalArgumentException: casServerUrlPrefix cannot be null. at org.jasig.cas.client.util.CommonUtils.assertNotNull(CommonUtils.java:87) at org.jasig.cas.client.session.SingleSignOutHandler.init(SingleSignOutHandler.java:130) at org.jasig.cas.client.session.SingleSignOutFilter.init(SingleSignOutFilter.java:54) &amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip; package com.audaque.gm.config; import com.audaque.gm.modules.sys.shiro.ShiroPermsFilterFactoryBean;</description>
    </item>
    <item>
      <title>配置pac4j集成CAS实现单点登录</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E9%85%8D%E7%BD%AEpac4j%E9%9B%86%E6%88%90CAS%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:27:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E9%85%8D%E7%BD%AEpac4j%E9%9B%86%E6%88%90CAS%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 &amp;gt;[font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b][/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;[/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;org.pac4j&amp;lt;/groupId&amp;gt;[/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;pac4j-cas&amp;lt;/artifactId&amp;gt;[/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;version&amp;gt;3.8.3&amp;lt;/version&amp;gt;[/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependency&amp;gt;[/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b][/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependency&amp;gt;[/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;groupId&amp;gt;io.buji&amp;lt;/groupId&amp;gt;[/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI, Helvetica, Arial, sans-serif][color=#24292e][b]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;artifactId&amp;gt;buji-pac4j&amp;lt;/artifactId&amp;gt;[/b][/color][/font][/align][align=left][font=-apple-system, system-ui, Segoe UI,</description>
    </item>
    <item>
      <title>集成Pac4j 4.0.0 实现单点登录和登出</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E9%9B%86%E6%88%90Pac4j-4.0.0-%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E5%92%8C%E7%99%BB%E5%87%BA--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:24:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E9%9B%86%E6%88%90Pac4j-4.0.0-%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E5%92%8C%E7%99%BB%E5%87%BA--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>2018-08-29更新：由于pac4j 3.1 版本未支持单点登出，故升级到 4.0.0 版本，pac4j-cas 升级到 3.0.2版本，可以实现单点登出。 首先是 maven 配置。 &amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.apache.shiro&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;shiro-spring&amp;amp;lt;/artifactId&amp;amp;gt; &amp;amp;lt;version&amp;amp;gt;1.4.0&amp;amp;lt;/version&amp;amp;gt; &amp;amp;lt;/dependency&amp;amp;gt; &amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.pac4j&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;pac4j-cas&amp;amp;lt;/artifactId&amp;amp;gt; &amp;amp;lt;version&amp;amp;gt;3.0.2&amp;amp;lt;/version&amp;amp;gt; &amp;amp;lt;/dependency&amp;amp;gt; &amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;io.buji&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;buji-pac4j&amp;amp;lt;/artifactId&amp;amp;gt; &amp;amp;lt;version&amp;amp;gt;4.0.0&amp;amp;lt;/version&amp;amp;gt; &amp;amp;lt;exclusions&amp;amp;gt; &amp;amp;lt;exclusion&amp;amp;gt; &amp;amp;lt;artifactId&amp;amp;gt;shiro-web&amp;amp;lt;/artifactId&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.apache.shiro&amp;amp;lt;/groupId&amp;amp;gt; &amp;amp;lt;/exclusion&amp;amp;gt; &amp;amp;lt;/exclusions&amp;amp;gt; &amp;amp;lt;/dependency&amp;amp;gt; import io.buji.pac4j.filter.LogoutFilter; import io.buji.pac4j.filter.SecurityFilter; import io.buji.pac4j.subject.Pac4jSubjectFactory; import org.apache.shiro.session.mgt.SessionManager; import org.apache.shiro.session.mgt.eis.MemorySessionDAO; import org.apache.shiro.session.mgt.eis.SessionDAO; import org.apache.shiro.spring.LifecycleBeanPostProcessor; import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.apache.shiro.web.servlet.SimpleCookie; import org.apache.shiro.web.session.mgt.DefaultWebSessionManager; import org.pac4j.core.config.Config; import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; import org.springframework.web.filter.DelegatingFilterProxy;&amp;lt;br&amp;gt;import org.jasig.cas.client.session.SingleSignOutFilter; import javax.servlet.DispatcherType; import</description>
    </item>
    <item>
      <title>基于buji-pac4j和CAS实现单点登录示例</title>
      <link>https://index.zshipu.com/geek001/post/20240424/%E5%9F%BA%E4%BA%8Ebuji-pac4j%E5%92%8CCAS%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E7%A4%BA%E4%BE%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Wed, 24 Apr 2024 11:31:05 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240424/%E5%9F%BA%E4%BA%8Ebuji-pac4j%E5%92%8CCAS%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E7%A4%BA%E4%BE%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>VIP文章 H阿布 于 2018-02-01 18:22:35 发布 在pac4j探索的上一篇文章大致讲述了一下buji-pac4j+CAS的认证流程。这里记录一下本人实现的最简单的单点登录，仅作为笔记、学习交流之用，戳这里获取本文源码。 一、项目框架 1、 buji-pac4j（v.3.0.0） 2、shiro (v.1.4.0) 3、spring</description>
    </item>
    <item>
      <title>单点登录配置问题</title>
      <link>https://index.zshipu.com/geek001/post/20240424/%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Wed, 24 Apr 2024 11:30:05 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240424/%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>之前没在shiroConfig里加public FilterRegistrationBean singleSignOutFilter() ；可以实现单点登录，登出有问题，家里这个方法后，启动报错： java.lang.IllegalArgumentException: casServerUrlPrefix cannot be null. at org.jasig.cas.client.util.CommonUtils.assertNotNull(CommonUtils.java:87) at org.jasig.cas.client.session.SingleSignOutHandler.init(SingleSignOutHandler.java:130) at org.jasig.cas.client.session.SingleSignOutFilter.init(SingleSignOutFilter.java:54) &amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip; package com.audaque.gm.config; import com.audaque.gm.modules.sys.shiro.ShiroPermsFilterFactoryBean; import com.audaque.gm.modules.sys.shiro.UserFilter; import com.audaque.gm.modules.sys.shiro.UserPermFilter; import com.audaque.gm.modules.sys.sso.CallbackFilter; import com.audaque.gm.modules.sys.sso.CasRealm; import com.audaque.gm.support.shiro.listener.UserSessionListener; import com.audaque.gm.support.shiro.session.UserSessionDAO; import com.audaque.gm.support.shiro.session.UserSessionFactory; import io.buji.pac4j.filter.LogoutFilter; import io.buji.pac4j.filter.SecurityFilter; import io.buji.pac4j.subject.Pac4jSubjectFactory; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.session.SessionListener; import org.apache.shiro.session.mgt.SessionManager; import org.apache.shiro.session.mgt.eis.MemorySessionDAO; import org.apache.shiro.session.mgt.eis.SessionDAO; import org.apache.shiro.spring.LifecycleBeanPostProcessor; import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.apache.shiro.web.servlet.SimpleCookie; import org.apache.shiro.web.session.mgt.DefaultWebSessionManager; import org.jasig.cas.client.session.SingleSignOutFilter; import org.jasig.cas.client.session.SingleSignOutHttpSessionListener; import org.pac4j.core.config.Config; import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletListenerRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.DependsOn; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import org.springframework.web.filter.DelegatingFilterProxy;</description>
    </item>
    <item>
      <title>集成Shiro框架实现单点登录CAS</title>
      <link>https://index.zshipu.com/geek001/post/20240424/%E9%9B%86%E6%88%90Shiro%E6%A1%86%E6%9E%B6%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95CAS--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Wed, 24 Apr 2024 11:29:05 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240424/%E9%9B%86%E6%88%90Shiro%E6%A1%86%E6%9E%B6%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95CAS--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>1.介绍 单点登录：Single Sign On,简称SSO，SSO使得在多个应用系统中，用户只需要登录一次就可以访问所有相互信任的应用系统。 CAS框架：CAS（Central Authentication Service）是实现SSO单点登录的框架。 分析： 1.图中用户访问cas客户端； 2.需要登录时，重定向到Cas-S</description>
    </item>
  </channel>
</rss>
