<?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%87%BA/</link>
    <description>Recent content in 单点登出 on 知识铺的博客</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Sun, 28 Apr 2024 06:54:08 +0000</lastBuildDate>
    <atom:link href="https://index.zshipu.com/geek001/tags/%E5%8D%95%E7%82%B9%E7%99%BB%E5%87%BA/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用CAS自带的监听器和过滤器实现单点登出</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E4%BD%BF%E7%94%A8CAS%E8%87%AA%E5%B8%A6%E7%9A%84%E7%9B%91%E5%90%AC%E5%99%A8%E5%92%8C%E8%BF%87%E6%BB%A4%E5%99%A8%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%87%BA--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:54:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E4%BD%BF%E7%94%A8CAS%E8%87%AA%E5%B8%A6%E7%9A%84%E7%9B%91%E5%90%AC%E5%99%A8%E5%92%8C%E8%BF%87%E6%BB%A4%E5%99%A8%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%87%BA--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>是一只不会游泳的鱼 于 2019-05-22 11:03:11 发布 现在做东西发现shiro集成以后单点登出各个子系统不能同步，比如A系统登出了，cas也是登出状态，但是输入B系统的url以后还是可以访问。 可以不使用shiro所带的配置，不加入下图中的配置 而是在web.xml文件中加入cas自带的logout的监听器和</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>
  </channel>
</rss>
