shiro

SpringBoot 优雅的整合 Shiro

a 夏天 提交于 2019-11-29 08:18:15
Apache Shiro是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理。借助Shiro易于理解的API,您可以快速轻松地保护任何应用程序 - 从最小的移动应用程序到最大的Web和企业应用程序。网上找到大部分文章都是以前SpringMVC下的整合方式,很多人都不知道shiro提供了官方的starter可以方便地跟SpringBoot整合。 请看shiro官网关于springboot整合shiro的链接:Integrating Apache Shiro into Spring-Boot Applications 整合准备 这篇文档的介绍也相当简单。我们只需要按照文档说明,然后在spring容器中注入一个我们自定义的Realm,shiro通过这个realm就可以知道如何获取用户信息来处理鉴权(Authentication),如何获取用户角色、权限信息来处理授权(Authorization)。如果是web应用程序的话需要引入shiro-spring-boot-web-starter,单独的应用程序的话则引入shiro-spring-boot-starter。 依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring-boot-web-starter<

《跟我学Shiro》系列教程PDF完结版下载

旧巷老猫 提交于 2019-11-29 08:17:45
Shiro目录 第一章 Shiro简介 第二章 身份验证 第三章 授权 第四章 INI配置 第五章 编码/加密 第六章 Realm及相关对象 第七章 与Web集成 第八章 拦截器机制 第九章 JSP标签 第十章 会话管理 第十一章 缓存机制 第十二章 与Spring集成 第十三章 RememberMe 第十四章 SSL 第十五章 单点登录 第十六章 综合实例 第十七章 OAuth2集成 第十八章 并发登录人数控制 第十九章 动态URL权限控制 第二十章 无状态Web应用集成 第二十一章 授予身份及切换身份 第二十二章 集成验证码 第二十三章 多项目集中权限管理及分布式会话 第二十四章 在线会话管理 示例源代码: https://github.com/zhangkaitao/shiro-example 权限基础 ITeye论坛关于权限控制的讨论 RBAC新解 其他相关文章 Shiro官方文档 Shiro官方推荐资料 Shiro参考手册中文版 黄勇的Shiro 源码分析 Dead_knight的Shiro源码分析 Shiro+Struts2+Spring3 加上@RequiresPermissions 后@Autowired失效 简单shiro扩展实现NOT、AND、OR权限验证 集成Shiro后当遇到404错误时会丢失session springside springside

SpringBoot整合Shiro自定义filter报错:No SecurityManager accessible to the calling code...

一个人想着一个人 提交于 2019-11-29 06:16:53
最近在用springboot整合shiro,在访问时出现了No SecurityManager accessible to the calling code…报错: 产生原因 自定义的SysUserFilter加载顺序在ShiroFilter之前,导致出现No SecurityManager accessible to the calling code… 解决办法 shiroFilter()的加载先于自定义的SysUserFilter 总结 出现No SecurityManager accessible to the calling code…问题的原因可能有很多,而我这个是因为将自定义的Filter在ShiroFitler之前加载。ShiroFilter 是整个 Shiro 的入口点,用于拦截需要安全控制的请求进行处理,当自定义的filter先于shiroFilter加载,而shiroFilter里又使用到该自定义filter时,就会导致调用该自定义filter进行预处理时访问不到SecurityManager,也就是文中所出现的错误。 来源: https://blog.csdn.net/weixin_42765596/article/details/100537002

SpringMvc + Shiro[数据库存权限] 配置 ;[附git.oschina的项目地址]

与世无争的帅哥 提交于 2019-11-29 05:21:39
一 shiro简介 apache shiro 是功能强大并且容易集成的开源权限框架,它能够完成认证、授权、加密、会话管理等功能。认证和授权为权限控制的核心,简单来说,“认证”就是证明“你是谁?” Web 应用程序一般做法是通过表单提交的用户名及密码达到认证目的。“授权”即是 " 你能做什么 ?" ,很多系统通过资源表的形式来完成用户能做什么 二 shiro和spring集成 我这里用的是 SpringMvc + Mybatis + Shiro 集成, SpringMvc+ Mybatis的集成可参见: SpringMvc+Mybatis整合 shiro实现过程中的权限等信息会查询数据库, 使用的是Mybatis查询, 实现方式参照上面连接,不再赘述 直接介绍Shiro和 Spring的集成 1 web.xml 配置 <filter> <filter-name>shiroFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <init-param> <param-name>targetFilterLifecycle</param-name> <param-value>true</param-value> </init-param> <

在Spring+FreeMarker框架中使用Shiro的Tag标签

半腔热情 提交于 2019-11-29 05:12:57
目前Freemarker对Shrio的标签还不支持,不过已经有人贡献出来第三方面解决方案,如下: 1、下载shiro-freemarker-tags GitHub地址:https://github.com/jagregory/shiro-freemarker-tags 可以先看一下他的说明文档,有一个初步的了解。 2、Spring MVC配置 自定义一个ShiroTagFreeMarkerConfigurer继承Spring本身提供的FreeMarkerConfigurer,目的是在FreeMarker的Configuration中添加shiro的配置 public class ShiroTagFreeMarkerConfigurer extends FreeMarkerConfigurer { @Override public void afterPropertiesSet() throws IOException, TemplateException { super.afterPropertiesSet(); this.getConfiguration().setSharedVariable("shiro", new ShiroTags()); } } 下面的Spring mvc配置 <bean id="freemakerCongfig" class="com.xxx.web

Apache Shiro 快速入门教程,shiro 基础教程

烈酒焚心 提交于 2019-11-29 05:12:18
第一部分 什么是Apache Shiro 1、什么是 apache shiro : Apache Shiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理 如同 spring security 一样都是是一个权限安全框架,但是与Spring Security相比,在于他使用了和比较简洁易懂的认证和授权方式。 2、Apache Shiro 的三大核心组件: 1、Subject :当前用户的操作 2、SecurityManager:用于管理所有的Subject 3、Realms:用于进行权限信息的验证 Subject:即当前用户,在权限管理的应用程序里往往需要知道谁能够操作什么,谁拥有操作该程序的权利,shiro中则需要通过Subject来提供基础的当前用户信息,Subject 不仅仅代表某个用户,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。 SecurityManager:即所有Subject的管理者,这是Shiro框架的核心组件,可以把他看做是一个Shiro框架的全局管理组件,用于调度各种Shiro框架的服务。 Realms:Realms则是用户的信息认证器和用户的权限认证器,我们需要自己来实现Realms来自定义的管理我们自己系统内部的权限规则。 3、Authentication 和 Authorization

关于----身份验证--shiro

↘锁芯ラ 提交于 2019-11-29 05:00:42
Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证,授权,企业会话管理和加密等。Shiro的具体功能点如下: (1)身份认证/登录,验证用户是不是拥有相应的身份; (2)授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限; (3)会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通JavaSE 环境的,也可以是如Web环境的; (4)加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储; (5)Web支持,可以非常容易的集成到Web环境; Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率; (6)shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去; (7)提供测试支持; (8)允许一个用户假装为另一个用户(如果他们允许)的身份进行访问; (9)记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录 jar包 <!-- shiro所需架包 --> <dependency> <groupId>org

GORM createCriteria and list do not return the same results : what can I do?

孤人 提交于 2019-11-29 04:29:21
I am using Nimble and Shiro for my security frameworks and I've just come accross a GORM bug. Indeed : User.createCriteria().list { maxResults 10 } returns 10 users whereas User.list(max: 10) returns 9 users ! After further investigations, I found out that createCriteria returns twice the same user (admin) because admin has 2 roles !!! (I am not joking). It appears that any user with more than 1 role will be returned twice in the createCriteria call and User.list will return max-1 instances (i.e 9 users instead of 10 users) What workaround can I use in order to have 10 unique users returned ?

Shiro的几个关键类

有些话、适合烂在心里 提交于 2019-11-29 03:32:08
Shiro在于Spring集成中,需要配置SecurityManager,Realm,ShiroFilterFactoryBean这三个类。在Web环境中SecurityManager一般配置DefaultWebSecurityManager,如果需要扩展或者定制一些额外的功能,可以配置DefaultWebSecurityManager的继承类;Realm需要先继承AuthorizingRealm抽象类再配置,如果有多个Realm的话,还需要配置ModularRealmAuthenticator的继承实现类;ShiroFilterFactoryBean主要是提供ShiroFilter,可以配置一些资源的拦截。下面对一些核心类进行一下总结。 SecurityManager 该类继承了三个接口,还额外提供登录,退出和创建用户的功能。 /** * 所有与安全有关的操作都会与SecurityManager交互 * 扩展了authenticator、authorizer和sessionmanager接口 */ public interface SecurityManager extends Authenticator, Authorizer, SessionManager { Subject login(Subject subject, AuthenticationToken

shiro JSTL

落花浮王杯 提交于 2019-11-29 03:17:31
使用的时候需要先导入: <%--导入shiro的标签库--%> <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 来源: https://blog.csdn.net/weixin_41060905/article/details/100181406