随笔分类 - Auth
认证与授权
摘要:实现机制 概括来讲,是将认证信息放在Session中,当客户端发起访问时检查Session中是否存在认证信息,以及认证信息中的权限是否满足预期。 更具体地说,是通过Filter来拦截客户端请求并进行判断处理,使用的Filter链如下: [ org.springframework.security.w
阅读全文
摘要:官网:https://jwt.io/ 文档:https://jwt.io/introduction/ 目录 "什么是JWT" "头部(Header)" "载荷(Payload)" "签名(Signature)" "JWT使用场景" "如何传递JWT" "JWT应用实践" "手动签发JWT" "使用类
阅读全文
摘要:官网:https://shiro.apache.org/ 一. 概述 Shiro作为一个开源的权限框架,其组件化的设计思想使得开发者可以根据具体业务场景灵活地实现权限管理方案,权限粒度的控制非常方便。 首先,我们来看看Shiro框架的架构图: 从上图我们可以很清晰地看到,CacheManager也是
阅读全文
摘要:官网:https://shiro.apache.org/ 我们先来看一下shiro中关于Session和Session Manager的类图。 如上图所示,shiro自己定义了一个新的Session接口,用于统一操作接口,并通过SessionManager实现Session管理。 其中的3个实现类H
阅读全文
摘要:写在前面 我们知道,shiro框架在Java Web应用中使用时,本质上是通过filter方式集成的。 也就是说,它是遵循过滤器链规则的:filter的执行顺序与在web.xml中定义的顺序一致,如下所示: 显然,securityFilter定义在shiroFilter之前,那么securityFi
阅读全文
摘要:windows平台在tomcat中启动cas报错: 解决办法:将jansi.dll文件放到C:\Windows\System32目录下即可。 注意:jansi.dll文件在使用gradle编译打包cas时会下载到C:\Users\${用户名}\.gradle\native\jansi\1.14\wi
阅读全文
摘要:官网:https://shiro.apache.org/ 1. 下载在Maven项目中的依赖配置如下: 特别地!Shiro使用了日志框架slf4j,因此需要对应配置指定的日志实现组件,如:log4j,logback等。在此,以使用log4j为日志实现为例: 2.集成Shiro在Spring框架中集成
阅读全文
摘要:官网:https://shiro.apache.org/ 1. 下载在Maven项目中的依赖配置如下: 特别地!Shiro使用了日志框架slf4j,因此需要对应配置指定的日志实现组件,如:log4j,logback等。而且,由于shiro-web组件使用apache commons logging组
阅读全文
摘要:官网:https://shiro.apache.org/ 1. 下载在非Web环境的独立应用中使用Shiro时,只需要shiro-core组件。在Maven项目中的依赖配置如下: 特别地!Shiro使用了日志框架slf4j,因此需要对应配置指定的日志实现组件,如:log4j,logback等。在此,
阅读全文
摘要:官网:https://shiro.apache.org/ Shiro主要组件包括:Subject,SecurityManager,Authenticator,Authorizer,SessionManager,CacheManager,Cryptography,Realms。 1. SubjectS
阅读全文
摘要:官网:https://shiro.apache.org/ 一. Shiro是什么Shiro是一个Java平台的开源权限框架,用于认证和访问授权。具体来说,满足对如下元素的支持: 用户,角色,权限(仅仅是操作权限,数据权限必须与业务需求紧密结合),资源(url)。 用户分配角色,角色定义权限。 访问授
阅读全文
摘要:1.概述 权限系统实际上就是判断访问用户的合法性,有效性以及对访问资源权限的检查。 2. 权限系统要素资源:授权访问。角色:访问资源的证书,定义了资源访问的界限,作为一个粗粒度的资源访问权限控制。主体:访问资源的对象,通常为登录用户。权限:访问资源的具体限定,权限可以细分为操作权限和数据权限。 -
阅读全文