2024年4月28日
2018-08-29更新:由于pac4j 3.1 版本未支持单点登出,故升级到 4.0.0 版本,pac4j-cas 升级到 3.0.2版本,可以实现单点登出。 首先是 maven 配置。 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>org.pac4j</groupId> <artifactId>pac4j-cas</artifactId> <version>3.0.2</version> </dependency> <dependency> <groupId>io.buji</groupId> <artifactId>buji-pac4j</artifactId> <version>4.0.0</version> <exclusions> <exclusion> <artifactId>shiro-web</artifactId> <groupId>org.apache.shiro</groupId> </exclusion> </exclusions> </dependency> 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;<br>import org.jasig.cas.client.session.SingleSignOutFilter; import javax.servlet.DispatcherType; import……
阅读全文
2024年4月28日
buji-pac4j项目是Shiro web应用程序和web服务的一个简单而强大的安全库,它支持身份验证和授权,但也支持高级功能,如CSRF保护。它基于Java8、Shiro1.5和pac4j安全引擎v4。它在Apache2许可证下可用。 主要概念和组成部分: 客户端表示身份验证机制。……
阅读全文
2024年4月28日
1.3.x版本后。shiro接入pac4j pac4j是一个支持多种支持多种协议的身份认证的Java客户端。 它有一个非常简单和统一的API以支持以下这6个客户端认证机制: OAuth (1.0 & 2.0) CAS (1.0, 2.0, SAML, logout & proxy) HTTP (form & 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……
阅读全文
2024年4月28日
数据操作相关视频讲解: 用python编程Excel有没有用处? 1.cookie 由服务端生成,保存在客户端(由于前后端有交互,所以安全性差,且浪费带宽) 存储大小有限(最大 4kb ) 存储内容只接受 String 类型 保存位置: 若未设置过期时间,则保存在 内存 中,浏览器关闭后销毁 若设置了过期时间,则保存在 系统硬盘 中,直到……
阅读全文
2024年4月28日
gitblog_00015 于 2024-04-18 09:40:01 发布 探索SSO-Shiro-CAS:一站式身份验证解决方案 项目地址:https://gitcode.com/tinybyhuang/sso-shiro-cas 本文将介绍一个开源项目SSO-Shiro-CAS,这是一个基于Apache Shiro和CAS实现的单点登录(Sin……
阅读全文
2024年4月28日
注意↓↓↓↓ 其实直接调用 http://cas服务/serviceValidate?service=xxx&ticket=xxx就能校验和获取用户信息了 这里将pac4j-cas的代码拷出来改, 也是方便理解它做了哪些事情. 一. 关于pac4j-cas 这几天一直在折腾pac4j-……
阅读全文
2024年4月28日
简介: 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的集成是通过……
阅读全文
2024年4月28日
使用场景: 移动端通过业务系统鉴权 移动端免登录(登录一次以后) 解决方案: JWT(token认证方案) OAuth(第三方认证) 疑问 当然我们这章是讲JWT,那么会有以下的疑问: 若服务端已经接入了SSO,那么在移动端用户登录信息提交给SSO还是服务端?(毫无疑问是服务端,SSO对于移动端……
阅读全文
2024年4月28日
Ruoyi若依前后端一体项目整合cas单点登录 一、内容提要 二、在ruoyi-framework子工程中引入cas与shiro集成的pom依赖文件 三、修改ShiroConfig类,可以和原来项目的进行对比 四、自定义CasRealm类,实现自己的认证授权过程,不在走原来的UserRe……
阅读全文
2024年4月28日
1、框架版本如下 shiro 1.7.1 buji-pac4j 5.0.1 pac4j-cas 4.5.2 cas 5.3.16 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 <shiro.version>1.7.1</shiro.version> <io.buji.version>5.0.1</io.buji.version> <org.pac4j.version>4.5.2</org.pac4j.version> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>${shiro.version}</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>${shiro.version}</version> </dependency> <!-- pac4j-cas单点登录 --> <dependency> <groupId>org.pac4j</groupId> <artifactId>pac4j-cas</artifactId> <version>${org.pac4j.version}</version> </dependency> <dependency> <groupId>io.buji</groupId> <artifactId>buji-pac4j</artifactId> <version>${io.buji.version}</version> <exclusions> <exclusion> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> </exclusion>……
阅读全文