Shiro集成CAS认证与Pac4j配置 -- 知识铺
1.在pom.xml中添加:
<<span><strong>dependency</strong></span>>
<<span><strong>groupId</strong></span>>org.pac4j</<span><strong>groupId</strong></span>>
<<span><strong>artifactId</strong></span>>pac4j-cas</<span><strong>artifactId</strong></span>>
<<span><strong>version</strong></span>>2.1.0</<span><strong>version</strong></span>>
</<span><strong>dependency</strong></span>>
<<span><strong>dependency</strong></span>>
<<span><strong>groupId</strong></span>>io.buji</<span><strong>groupId</strong></span>>
<<span><strong>artifactId</strong></span>>buji-pac4j</<span><strong>artifactId</strong></span>>
<<span><strong>version</strong></span>>3.0.0</<span><strong>version</strong></span>>
</<span><strong>dependency</strong></span>>
<span>2.新增Pac4jConfig.java文件</span>
<pre data-index="5" name="code"></pre><br>
3.修改ShiroConfig.java文件
<span> 增加 </span>
<span></span><pre data-index="9" name="code"></pre><br>
<span>修改Bean shiroFilter 方法,增加</span>
|
|
//拦截器中增加callback的拦截
<span>Map</span><<span><strong>String</strong></span>, <span><strong>String</strong></span>> filterChainDefinitionMap = <span><strong>new </strong></span><span>LinkedHashMap</span><<span><strong>String</strong></span>, <span><strong>String</strong></span>>();
filterChainDefinitionMap.<span>put</span>(<span>"/callback"</span>, <span>"casFilter"</span>);
shiroFilterFactoryBean.<span>setFilterChainDefinitionMap</span>(filterChainDefinitionMap);
//loginUrl中需要加上clinetname
<span><strong>String </strong></span>loginUrl = <span>casServerUrlPrefix </span>+ <span>"/login?service=" </span>+ <span>shiroServerUrlPrefix </span>+ <span>"/callback?client_name=" </span>+ <span>clientName</span>;
shiroFilterFactoryBean.<span>setLoginUrl</span>(loginUrl);
<span>4.自定义的Realm不再继承自CasRealm,修改为Pac4jRealm,并且修改其中的方法</span>
|
|
//此方法的逻辑不变,还是在此处赋请求链接权限,只是改变获取用户的方法更改一下,可以将本地查询的用户信息保存在doGetAuthenticationInfo方法中,此方法可以直接取出来
|
|
- 原文作者:知识铺
- 原文链接: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/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com