<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Shiro on 知识铺的博客</title>
    <link>https://index.zshipu.com/geek001/tags/Shiro/</link>
    <description>Recent content in Shiro on 知识铺的博客</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Tue, 07 May 2024 10:22:47 +0000</lastBuildDate>
    <atom:link href="https://index.zshipu.com/geek001/tags/Shiro/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Spring Boot集成Shiro的详细教程</title>
      <link>https://index.zshipu.com/geek001/post/20240507/Spring-Boot%E9%9B%86%E6%88%90Shiro%E7%9A%84%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Tue, 07 May 2024 10:22:47 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240507/Spring-Boot%E9%9B%86%E6%88%90Shiro%E7%9A%84%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>项目里一直用的是 spring-security ，不得不说，spring-security 真是东西太多了，学习难度太大(可能我比较菜)，这篇博客来总结一下折腾shiro的成果，分享给大家，强烈推荐shiro，真心简单 : ) 引入依赖 &amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;dependency&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;groupId&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;org.apache.shiro&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;/groupId&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;artifactId&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;shiro-spring&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;/artifactId&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;version&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;1.4.0&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;/version&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span&amp;gt;&amp;amp;lt;/dependency&amp;amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt; 用户，角色，权限 就是经典的RBAC权限系统，下面简单给一下实体类字段 AdminUser.java &amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;&amp;lt;span&amp;gt;public&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;class&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;</description>
    </item>
    <item>
      <title>Springboot集成Cas客户端示例</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Springboot%E9%9B%86%E6%88%90Cas%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%A4%BA%E4%BE%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 07:06:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Springboot%E9%9B%86%E6%88%90Cas%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%A4%BA%E4%BE%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>按照上篇的cas服务端的配置一样，集成shiro+pac4j，其实在1.3还是1.2shiro-cas就过期了，shiro官方也让我们集成pac4j，但是居然居然没有demo，我也是服，，。。 此篇博客将集成springboot+cas5+shiro+pac4j 集成在一起，是宝宝将</description>
    </item>
    <item>
      <title>SpringBoot集成CAS&#43;Shiro&#43;Pac4j</title>
      <link>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E9%9B%86%E6%88%90CAS&#43;Shiro&#43;Pac4j--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 07:04:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E9%9B%86%E6%88%90CAS&#43;Shiro&#43;Pac4j--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>先说下项目背景，公司的项目原来用的kisso+shiro，但是kisso太小众了，性能各方面也不满足要求，所以老大要更换springboot+cas+shiro+pac4j集成，楼主在资料极少的情况下弄了很久还是没配置好shiro+pac4j，项目老大奋斗到深夜给解决了，所以写一</description>
    </item>
    <item>
      <title>基于Shiro和Pac4j实现单点登录与JWT整合</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E5%9F%BA%E4%BA%8EShiro%E5%92%8CPac4j%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E4%B8%8EJWT%E6%95%B4%E5%90%88--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 07:02:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E5%9F%BA%E4%BA%8EShiro%E5%92%8CPac4j%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E4%B8%8EJWT%E6%95%B4%E5%90%88--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>1、依赖pom.xml 1 2 3 4 5 6 7 8 9 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 69 70 71 72 73 74 75 76 77 78 79 &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shiro&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shiro-core&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;1.4.0&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shiro&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shiro-spring&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;1.4.0&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shiro&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;shiro-web&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;1.4.0&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.pac4j&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;pac4j-cas&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;3.0.2&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;io.buji&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;buji-pac4j&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;4.0.0&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;com.auth0&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;java-jwt&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;3.2.0&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.pac4j&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;pac4j-jwt&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;3.0.2&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;io.jsonwebtoken&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jjwt&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;0.7.0&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; 2、web.xml配</description>
    </item>
    <item>
      <title>Spring Boot项目集成Shiro和CAS时认证失败问题解决</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Spring-Boot%E9%A1%B9%E7%9B%AE%E9%9B%86%E6%88%90Shiro%E5%92%8CCAS%E6%97%B6%E8%AE%A4%E8%AF%81%E5%A4%B1%E8%B4%A5%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 07:01:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Spring-Boot%E9%A1%B9%E7%9B%AE%E9%9B%86%E6%88%90Shiro%E5%92%8CCAS%E6%97%B6%E8%AE%A4%E8%AF%81%E5%A4%B1%E8%B4%A5%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>项目场景： 项目采用spring boot+shiro+cas配置，由于数据库原因，登录时认证失败，记录一下解决过程。 问题描述： cas验证用户成功后，到shiro自定义的realm中执行doGetAuthenticationInfo方法时，抛出NullPointerException</description>
    </item>
    <item>
      <title>Spring Boot集成CAS&#43;Shiro&#43;Pac4j实现单点登录和权限管理</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Spring-Boot%E9%9B%86%E6%88%90CAS&#43;Shiro&#43;Pac4j%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E5%92%8C%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 07:00:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Spring-Boot%E9%9B%86%E6%88%90CAS&#43;Shiro&#43;Pac4j%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E5%92%8C%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>先说下项目背景，公司的项目原来用的kisso+shiro，但是kisso太小众了，性能各方面也不满足要求，所以老大要更换springboot+cas+shiro+pac4j集成，楼主在资料极少的情况下弄了很久还是没配置好shiro+pac4j，项目老大奋斗到深夜给解决了，所以写一</description>
    </item>
    <item>
      <title>CAS集成Shiro的配置方法</title>
      <link>https://index.zshipu.com/geek001/post/20240428/CAS%E9%9B%86%E6%88%90Shiro%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:56:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/CAS%E9%9B%86%E6%88%90Shiro%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>由于工作上的要求所以一直在寻找一些符合要求的集成方法，虽然不是自己发现的，但是有些问题经过研究更正。 1、配置web.xml 由于CAS的一个子系统Logout以后其他子系统并没有同步退出，所以这里面加入了，cas官方的集成监听器和过滤器 &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://xmlns.jcp.org/xml/ns/javaee&amp;#34; xsi:schemaLocation=&amp;#34;http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd&amp;#34; version=&amp;#34;3.1&amp;#34;&amp;amp;gt; &amp;amp;lt;display-name&amp;amp;gt;Struts Blank&amp;amp;lt;/display-name&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:spring-mvc.xml &amp;amp;lt;/param-value&amp;amp;gt; &amp;amp;lt;/context-param&amp;amp;gt; &amp;amp;lt;servlet&amp;amp;gt; &amp;amp;lt;servlet-name&amp;amp;gt;UploadHandleServlet&amp;amp;lt;/servlet-name&amp;amp;gt; &amp;amp;lt;servlet-class&amp;amp;gt;me.gacl.web.controller.UploadHandleServlet&amp;amp;lt;/servlet-class&amp;amp;gt; &amp;amp;lt;/servlet&amp;amp;gt; &amp;amp;lt;servlet-mapping&amp;amp;gt; &amp;amp;lt;servlet-name&amp;amp;gt;UploadHandleServlet&amp;amp;lt;/servlet-name&amp;amp;gt;</description>
    </item>
    <item>
      <title>Pac4j-cas集成与验证流程解析</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Pac4j-cas%E9%9B%86%E6%88%90%E4%B8%8E%E9%AA%8C%E8%AF%81%E6%B5%81%E7%A8%8B%E8%A7%A3%E6%9E%90--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:55:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Pac4j-cas%E9%9B%86%E6%88%90%E4%B8%8E%E9%AA%8C%E8%AF%81%E6%B5%81%E7%A8%8B%E8%A7%A3%E6%9E%90--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>注意↓↓↓↓ 其实直接调用 http://cas服务/serviceValidate?service=xxx&amp;amp;ticket=xxx就能校验和获取用户信息了 这里将pac4j-cas的代码拷出来改, 也是方便理解它做了哪些事情. 一. 关于pac4j-cas 这几天一直在折腾pac4j-</description>
    </item>
    <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>SpringBoot集成CAS5、Shiro和Pac4j</title>
      <link>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E9%9B%86%E6%88%90CAS5Shiro%E5%92%8CPac4j--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:53:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E9%9B%86%E6%88%90CAS5Shiro%E5%92%8CPac4j--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>[ 按照上篇的_cas_服务端的配置一样,集成_shiro_+pac__4j,其实在1.3还是1.2_shiro_-cas_就过期了,shiro_官方也让我们集成_pac__4j,但是居然居然没有demo,我也是服,,。。 此篇博客将集成_springboot+_cas_5+shir</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>初识buji-pac4j</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E5%88%9D%E8%AF%86buji-pac4j--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:46:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E5%88%9D%E8%AF%86buji-pac4j--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>VIP文章 H阿布 于 2018-01-27 17:26:05 发布 一、初步认识buji-pac4j 公司单点登录cas客户端用的是shiro的shiro-cas模块，但从源码看来，shiro不建议再使用shiro-cas，也就是说shiro-cas模块的相关都被shiro标注为@Deprecated，并推荐使用的代替方案</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认证与Pac4j配置</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Shiro%E9%9B%86%E6%88%90CAS%E8%AE%A4%E8%AF%81%E4%B8%8EPac4j%E9%85%8D%E7%BD%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:43:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Shiro%E9%9B%86%E6%88%90CAS%E8%AE%A4%E8%AF%81%E4%B8%8EPac4j%E9%85%8D%E7%BD%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>1.在pom.xml中添加： &amp;amp;lt;&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;dependency&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;amp;lt;&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;groupId&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt;org.pac4j&amp;amp;lt;/&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;groupId&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;amp;lt;&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;artifactId&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt;pac4j-cas&amp;amp;lt;/&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;artifactId&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;amp;lt;&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;version&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt;2.1.0&amp;amp;lt;/&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;version&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;amp;lt;/&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;dependency&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;amp;lt;&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;dependency&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;amp;lt;&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;groupId&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt;io.buji&amp;amp;lt;/&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;groupId&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;amp;lt;&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;artifactId&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt;buji-pac4j&amp;amp;lt;/&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;artifactId&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;amp;lt;&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;version&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt;3.0.0&amp;amp;lt;/&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;version&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;amp;lt;/&amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;dependency&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&amp;amp;gt; &amp;lt;span&amp;gt;2.新增Pac4jConfig.java文件&amp;lt;/span&amp;gt; &amp;lt;pre data-index=&amp;#34;5&amp;#34; name=&amp;#34;code&amp;#34;&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;br&amp;gt; 3.修改ShiroConfig.java文件 &amp;lt;span&amp;gt; 增加 &amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;pre data-index=&amp;#34;9&amp;#34; name=&amp;#34;code&amp;#34;&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span&amp;gt;修改Bean shiroFilter 方法，增加&amp;lt;/span&amp;gt;</description>
    </item>
    <item>
      <title>pac4j-cas与shiro集成框架源码分析</title>
      <link>https://index.zshipu.com/geek001/post/20240428/pac4j-cas%E4%B8%8Eshiro%E9%9B%86%E6%88%90%E6%A1%86%E6%9E%B6%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:42:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/pac4j-cas%E4%B8%8Eshiro%E9%9B%86%E6%88%90%E6%A1%86%E6%9E%B6%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>cas client与shiro集成框架pac4j源码分析 一、前言 二、安全过滤器 三、CallbackFilter 四、LogoutFilter 一、前言 pac4j-cas关键filter有3个，分别为io.buji.pac4j.filter.SecurityFilter、io.buji.p</description>
    </item>
    <item>
      <title>JFinal最强集成方案</title>
      <link>https://index.zshipu.com/geek001/post/20240428/JFinal%E6%9C%80%E5%BC%BA%E9%9B%86%E6%88%90%E6%96%B9%E6%A1%88--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:40:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/JFinal%E6%9C%80%E5%BC%BA%E9%9B%86%E6%88%90%E6%96%B9%E6%A1%88--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>JFinal最强集成方案 Jifnal+Shiro+Pac4j+Cas+Redis 简介 CAS Pac4J 集成配置 Jifnal+Shiro+Pac4j+Cas+Redis 简介 公司以前使用了Jifnal做了一个基础后台管理系统,主要使用了Jifnal+Shiro进行开发.随后交由我 进行后续的升级以及功能的完善.由于jfinal和shiro集成的时候默认使用的Ehcache对集群部署以 及分布式部署会出问题,</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>shiro、cas、pac4j 实现单点登陆（1）</title>
      <link>https://index.zshipu.com/geek001/post/20240428/shirocaspac4j-%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E9%99%861--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:37:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/shirocaspac4j-%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E9%99%861--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>开发者社区 云计算 文章 正文 2022-04-23 191 版权 简介： shiro、cas、pac4j 实现单点登陆（1） 前言 &amp;lt;span&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;上一篇文章介绍了 cas 环境搭建过程 &amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;s</description>
    </item>
    <item>
      <title>CAS和Shiro集成代码实现及数据流转过程简介</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Cas%E5%92%8CShiro%E9%9B%86%E6%88%90%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%AE%80%E4%BB%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:36:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Cas%E5%92%8CShiro%E9%9B%86%E6%88%90%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%AE%80%E4%BB%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>平凡人笔记 于 2020-06-11 18:04:40 发布 前言 上一篇文章介绍了 cas 环境搭建过程 本文介绍下cas和shiro集成代码实现及数据流转过程简介 先看下实现的效果 1 2 3 访问 http://localhost:8086/demo1 转发到认证中心 1 2 3 输入登陆账号 回到demo1页面 1 2 3 再次访问 http://localhost:8086/demo1 直接会跳转到 demo1页面 点击退出 项目启动[按照运行顺序] 实例化 LifecycleBeanPostProcessor bean</description>
    </item>
    <item>
      <title>实现基于Scala的Shiro用户角色验证和授权</title>
      <link>https://index.zshipu.com/geek001/post/20240428/%E5%AE%9E%E7%8E%B0%E5%9F%BA%E4%BA%8EScala%E7%9A%84Shiro%E7%94%A8%E6%88%B7%E8%A7%92%E8%89%B2%E9%AA%8C%E8%AF%81%E5%92%8C%E6%8E%88%E6%9D%83--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:34:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/%E5%AE%9E%E7%8E%B0%E5%9F%BA%E4%BA%8EScala%E7%9A%84Shiro%E7%94%A8%E6%88%B7%E8%A7%92%E8%89%B2%E9%AA%8C%E8%AF%81%E5%92%8C%E6%8E%88%E6%9D%83--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 public class UserRealm extends Pac4jRealm(){ @Override public AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { System.out.println(&amp;#34;Onece&amp;#34;); Set&amp;lt;String&amp;gt; roles=new HashSet()&amp;lt;&amp;gt;; roles.add(&amp;#34;admin&amp;#34;); SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); authorizationInfo.setRoles(roles); return authorizationInfo ; } 1 2 3 4 5 6 @RequestMapping(&amp;#34;/hello2&amp;#34;) @ResponseBody public String hello2() { SecurityUtils.getSubject().checkRoles(&amp;#34;user&amp;#34;); return &amp;#34;success&amp;#34;; }</description>
    </item>
    <item>
      <title>shiro、cas、pac4j 实现单点登陆</title>
      <link>https://index.zshipu.com/geek001/post/20240428/shirocaspac4j-%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E9%99%86--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:33:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/shirocaspac4j-%E5%AE%9E%E7%8E%B0%E5%8D%95%E7%82%B9%E7%99%BB%E9%99%86--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>shiro、cas、pac4j 实现单点登陆 0.0782020.06.11 18:02:54字数 38阅读 768 前言 1 上一篇文章介绍了 cas 环境搭建过程本文介绍下cas和shiro集成代码实现及数据流转过程简介 先看下实现的效果 1 访问 http://localhost:8086/demo1转发到认证中心 1 再次访问 http://localhost:8086/demo1 直接会跳转</description>
    </item>
    <item>
      <title>Shiro安全配置</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Shiro%E5%AE%89%E5%85%A8%E9%85%8D%E7%BD%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:32:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Shiro%E5%AE%89%E5%85%A8%E9%85%8D%E7%BD%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>package com.carl.wolf.permission.config; import io.buji.pac4j.filter.CallbackFilter; import io.buji.pac4j.filter.LogoutFilter; import io.buji.pac4j.filter.SecurityFilter; import io.buji.pac4j.realm.Pac4jRealm; import io.buji.pac4j.subject.Pac4jSubjectFactory; import org.apache.shiro.mgt.DefaultSecurityManager; import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.mgt.SubjectFactory; import org.apache.shiro.realm.Realm; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.spring.web.config.AbstractShiroWebFilterConfiguration; import org.apache.shiro.spring.web.config.DefaultShiroFilterChainDefinition; import org.apache.shiro.spring.web.config.ShiroFilterChainDefinition; import org.pac4j.cas.client.CasClient; import org.pac4j.cas.client.rest.CasRestFormClient; import org.pac4j.cas.config.CasConfiguration; import org.pac4j.cas.config.CasProtocol; import org.pac4j.core.client.Clients; import org.pac4j.core.config.Config; import org.pac4j.http.client.direct.ParameterClient; import org.pac4j.jwt.config.encryption.SecretEncryptionConfiguration; import org.pac4j.jwt.config.signature.SecretSignatureConfiguration; import org.pac4j.jwt.credentials.authenticator.JwtAuthenticator; import org.pac4j.jwt.profile.JwtGenerator; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.servlet.Filter; import java.util.HashMap; import java.util.Map; /** * 对shiro的安全配置，是对cas的登录策略进行配置 * * @author Carl * @date 2017/9/16 * @since 1.0.0 */ @Configuration public class ShiroConfiguration extends AbstractShiroWebFilterConfiguration { &amp;lt;br&amp;gt; @Value``(``&amp;quot;#{ @environment[&#39;cas.prefixUrl&#39;] ?: null }&amp;quot;``) private String prefixUrl; @Value``(``&amp;quot;#{ @environment[&#39;cas.loginUrl&#39;] ?: null }&amp;quot;``) private String casLoginUrl; @Value``(``&amp;quot;#{ @environment[&#39;cas.callbackUrl&#39;] ?: null }&amp;quot;``) private String callbackUrl; @Value``(``&amp;quot;${jwt.salt}&amp;quot;``) private String salt; @Bean public Realm</description>
    </item>
    <item>
      <title>Spring Boot集成Shiro安全框架的实战博客</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Spring-Boot%E9%9B%86%E6%88%90Shiro%E5%AE%89%E5%85%A8%E6%A1%86%E6%9E%B6%E7%9A%84%E5%AE%9E%E6%88%98%E5%8D%9A%E5%AE%A2--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:30:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Spring-Boot%E9%9B%86%E6%88%90Shiro%E5%AE%89%E5%85%A8%E6%A1%86%E6%9E%B6%E7%9A%84%E5%AE%9E%E6%88%98%E5%8D%9A%E5%AE%A2--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>原博文 2020-02-13 10:42 − &amp;hellip; 0 3484 2019-12-24 08:00 − 1.什么是会话session : 用户和程序直接的链接，程序可以根据session识别到哪个用户，和javaweb中的session类似 2. 什么是会话管理器SessionManager : 会话管理器管理所有subject的所有操作，是shiro的核心组件,&amp;hel</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>SpringBoot中Shiro使用Pac4j集成CAS认证</title>
      <link>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E4%B8%ADShiro%E4%BD%BF%E7%94%A8Pac4j%E9%9B%86%E6%88%90CAS%E8%AE%A4%E8%AF%81--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:28:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/SpringBoot%E4%B8%ADShiro%E4%BD%BF%E7%94%A8Pac4j%E9%9B%86%E6%88%90CAS%E8%AE%A4%E8%AF%81--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>SpringBoot中Shiro使用Pac4j集成CAS认证 Pac4j 简介 Pac4j与Shiro，Spring Security一样都是权限框架，并且提供了OAuth - SAML - CAS - OpenID Connect - HTTP - OpenID - Google App Engine - Kerberos (SPNEGO) 的认证集成。且可&amp;hellip; pac4j探索（一）之buji-pac4j 、facebo</description>
    </item>
    <item>
      <title>buji-pac4j：一个Shiro web应用程序和web服务的安全库</title>
      <link>https://index.zshipu.com/geek001/post/20240428/buji-pac4j%E4%B8%80%E4%B8%AAShiro-web%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%92%8Cweb%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%AE%89%E5%85%A8%E5%BA%93--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:23:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/buji-pac4j%E4%B8%80%E4%B8%AAShiro-web%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%92%8Cweb%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%AE%89%E5%85%A8%E5%BA%93--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>buji-pac4j项目是Shiro web应用程序和web服务的一个简单而强大的安全库，它支持身份验证和授权，但也支持高级功能，如CSRF保护。它基于Java8、Shiro1.5和pac4j安全引擎v4。它在Apache2许可证下可用。 主要概念和组成部分： 客户端表示身份验证机制。</description>
    </item>
    <item>
      <title>1.3.x版本后，Shiro接入Pac4j支持多种身份认证协议</title>
      <link>https://index.zshipu.com/geek001/post/20240428/1.3.x%E7%89%88%E6%9C%AC%E5%90%8EShiro%E6%8E%A5%E5%85%A5Pac4j%E6%94%AF%E6%8C%81%E5%A4%9A%E7%A7%8D%E8%BA%AB%E4%BB%BD%E8%AE%A4%E8%AF%81%E5%8D%8F%E8%AE%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:22:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/1.3.x%E7%89%88%E6%9C%AC%E5%90%8EShiro%E6%8E%A5%E5%85%A5Pac4j%E6%94%AF%E6%8C%81%E5%A4%9A%E7%A7%8D%E8%BA%AB%E4%BB%BD%E8%AE%A4%E8%AF%81%E5%8D%8F%E8%AE%AE--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>1.3.x版本后。shiro接入pac4j pac4j是一个支持多种支持多种协议的身份认证的Java客户端。 它有一个非常简单和统一的API以支持以下这6个客户端认证机制： OAuth (1.0 &amp;amp; 2.0) CAS (1.0, 2.0, SAML, logout &amp;amp; proxy) HTTP (form &amp;amp; basic auth authentications) OpenID SAML (2.0) Google App Engine UserService. OpenID Connect 1.0 提供 7 种库实现用于不同环境： the CAS server (using the cas-server-support-pac4j library) the Play 2.x framework (using the play-pac4j_java and</description>
    </item>
    <item>
      <title>Pac4j-cas集成和前后端分离JWT验证流程解析</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Pac4j-cas%E9%9B%86%E6%88%90%E5%92%8C%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BBJWT%E9%AA%8C%E8%AF%81%E6%B5%81%E7%A8%8B%E8%A7%A3%E6%9E%90--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Sun, 28 Apr 2024 06:19:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Pac4j-cas%E9%9B%86%E6%88%90%E5%92%8C%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BBJWT%E9%AA%8C%E8%AF%81%E6%B5%81%E7%A8%8B%E8%A7%A3%E6%9E%90--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>注意↓↓↓↓ 其实直接调用 http://cas服务/serviceValidate?service=xxx&amp;amp;ticket=xxx就能校验和获取用户信息了 这里将pac4j-cas的代码拷出来改, 也是方便理解它做了哪些事情. 一. 关于pac4j-cas 这几天一直在折腾pac4j-</description>
    </item>
    <item>
      <title>Pac4j CAS集成与Shiro的配置教程</title>
      <link>https://index.zshipu.com/geek001/post/20240428/Pac4j-CAS%E9%9B%86%E6%88%90%E4%B8%8EShiro%E7%9A%84%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:17:08 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240428/Pac4j-CAS%E9%9B%86%E6%88%90%E4%B8%8EShiro%E7%9A%84%E9%85%8D%E7%BD%AE%E6%95%99%E7%A8%8B--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>简介： Pac4j 简介 Pac4j与Shiro，Spring Security一样都是权限框架，并且提供了OAuth - SAML - CAS - OpenID Connect - HTTP - OpenID - Google App Engine - Kerberos (SPNEGO) 的认证集成。且可以和shiro,security等权限框架集成。 Pac4j CAS认证流程 0_5988974176867581 代码 关键部分 说明: pac4j-cas与shiro的集成是通过</description>
    </item>
    <item>
      <title>使用Spring Boot和Shiro集成Pac4j实现CAS单点登录</title>
      <link>https://index.zshipu.com/geek001/post/20240424/%E4%BD%BF%E7%94%A8Spring-Boot%E5%92%8CShiro%E9%9B%86%E6%88%90Pac4j%E5%AE%9E%E7%8E%B0CAS%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95--%E7%9F%A5%E8%AF%86%E9%93%BA/</link>
      <pubDate>Wed, 24 Apr 2024 11:32:05 +0000</pubDate>
      <guid>https://index.zshipu.com/geek001/post/20240424/%E4%BD%BF%E7%94%A8Spring-Boot%E5%92%8CShiro%E9%9B%86%E6%88%90Pac4j%E5%AE%9E%E7%8E%B0CAS%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95--%E7%9F%A5%E8%AF%86%E9%93%BA/</guid>
      <description>新开的项目，果断使用 spring boot 最新版本 2.0.3 ，免得后期升级坑太多，前期把雷先排了。 由于对 shiro 比较熟，故使用 shiro 来做权限控制。同时已经存在了 cas 认证中心， shiro 官方在 1.2 中就表明已经弃用了 CasFilter ，建议使用 buji-pac4j ，故使用 pac4j 来做单点登录的控制。 废话不说，代码如下： 2018-08-29更新：由于pac4j 3.1 版本未支持</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>
