shiro

Springboot整合Shiro

不羁的心 提交于 2020-02-27 00:30:54
1.shiro核心API 2.整合 (1)导入依赖 < dependency > < groupId > org . apache . shiro < / groupId > < artifactId > shiro - spring < / artifactId > < version > 1.4 .0 < / version > < / dependency > (2)编写shiro配置类 自定义Realm类 @Configuration public class ShiroConfig { //创建ShiroFilterFactoryBean public ShiroFilterFactoryBean getShiroFilterFactoryBean ( @Qualifier ( "securityManager" ) DefaultWebSecurityManager securityManager ) { ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean ( ) ; //设置安全管理器 shiroFilterFactoryBean . setSecurityManager ( securityManager ) ; return

2020-02-26

喜夏-厌秋 提交于 2020-02-26 23:46:00
庚子鼠年 戊寅月 戊寅日 描述 springboot练习 随笔 spring安全 shiro 添加shiro的内置过滤器 /admins/**=anon # 表示该 uri 可以匿名访问 /admins/**=auth # 表示该 uri 需要认证才能访问 /admins/**=authcBasic # 表示该 uri 需要 httpBasic 认证 /admins/**=perms[user:add:*] # 表示该 uri 需要认证用户拥有 user:add:* 权限才能访问 /admins/**=port[8081] # 表示该 uri 需要使用 8081 端口 /admins/**=rest[user] # 相当于 /admins/**=perms[user:method],其中,method 表示 get、post、delete 等 /admins/**=roles[admin] # 表示该 uri 需要认证用户拥有 admin 角色才能访问 /admins/**=ssl # 表示该 uri 需要使用 https 协议 /admins/**=user # 表示该 uri 需要认证或通过记住我认证才能访问 /logout=logout # 表示注销,可以当作固定配置 注意: anon,authcBasic,auchc,user 是认证过滤器。 perms,roles,ssl

Shiro -- (一)简介

坚强是说给别人听的谎言 提交于 2020-02-26 21:52:44
简介:   Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro 要简单的多。 Authentication :身份认证 / 登录,验证用户是不是拥有相应的身份; Authorization :授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限; Session Manager :会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通 JavaSE 环境的,也可以是如 Web 环境的; Cryptography :加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储; Web Support :Web 支持,可以非常容易的集成到 Web 环境; Caching :缓存,比如用户登录后,其用户信息、拥有的角色 / 权限不必每次去查,这样可以提高效率; Concurrency :shiro 支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去; Testing :提供测试支持; Run As :允许一个用户假装为另一个用户(如果他们允许

随手转发正能量系列-Java学习的正确打开方式(劝退教程)

末鹿安然 提交于 2020-02-26 19:05:52
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。 文章目录 一、Java基础 1、Java基础教学视频 2、Java基础博客文章目录 3、Java基础书籍 二、关于JavaWeb基础 1、JavaWeb基础教程视频 2、关于JavaWeb博客文章 三、关于数据库 1、关系型数据库教学视频 2、非关系性数据库Redis视频 四、关于JDK新特性 五、关于并发编程 六、关于NIO 七、关于ssm框架 1、spring框架视频 2、Mybatis 框架视频 3、SpringMVC框架视频 4、SSM框架博客文章 4.1、spring框架 4.2、Mybatis框架 4.3、SpringMVC框架 4.5、SSM框架整合文章 八、关于数据结构与算法 1、数据结构与算法视频 2、数据结构与算法博客文章 3、数据结构与算法书籍 九、关于开发工具idea 十

SpringBoot安全管理--(三)整合shiro

帅比萌擦擦* 提交于 2020-02-26 18:56:33
简介:   Apache Shiro 是一一个开源的轻量级的Java安全框架,它提供身份验证、授权、密码管理以及会话管理等功能。   相对于Spring Security, Shiro框架更加直观、易用,同时也能提供健壮的安全性。在传统的SSM框架中,手动整合Shiro的配置步骤还是比较多的,针对Spring Boot, Shiro 官方提供了shiro-spring-boot-web-starter 用来简化Shiro 在Spring Boot 中的配置。 pom.xml <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring-boot-web-starter</artifactId> //已经依赖spring-boot-web-starter <version>1.4.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>com.github.theborakompanioni</groupId>

Thymeleaf标签

强颜欢笑 提交于 2020-02-26 18:03:10
# Thymeleaf #引入标签 thymeleaf、shiro <html xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> #设置class th:class class类拼接:th:classappend ps: <i class="layui-icon" th:classappend="'layui-icon-'+${menu.img}"></i> style样式拼接:th:styleappend 三目运算取值例子:<li class="layui-nav-item" th:classappend="${#httpServletRequest.getParameter('falg')} == 1?'layui-this':'' "><a href="../blog/index?falg=1">首页</a></li> #显示文本 显示普通文本内容 th:text="${menu.name}" 显示读取带html标签的内容 th:utext="${l.content}" #循环th:each <li th:each="menu:${menuList}"> ${menu.name} </li> #标签外赋值 [[${menu.name}]] #th

Shiro权限配置错误There is no filter with name 'anno' to apply to chain

你说的曾经没有我的故事 提交于 2020-02-26 17:35:22
配置shiroFilter时出现如下错误: 十一月 07 , 2017 7 : 29 : 34 下午 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter shiroFilter org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shiroFilter' : FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: There is no filter with name 'anno' to apply to chain [/preLogin] in the pool of available Filters. Ensure a filter with that name/path has first been registered with the addFilter method (s) . at org . springframework . beans . factory . support

shiro登录认证常见的异常解析

爷,独闯天下 提交于 2020-02-26 09:30:10
场景:使用shiro安全框架做用户登录认证是,在认证的过程中可能会抛出一系列的异常,这时候我们该如何准确的捕获所遇到的异常呢?首先我们得先认识什么是ShiroException、AuthenticationException。 先看看异常之间的继承关系图: 用户登录 /** * 用户登录 * * @param email 邮箱 * @param password 密码 * @return */ @ResponseBody @PostMapping("/login") public Result doLogin(String email, String password) { if (StringUtils.isEmpty(email) || StringUtils.isEmpty(password)) { return Result.fail("用户名或密码不能为空"); } //hutool工具的的对称加密密码 UsernamePasswordToken token = new UsernamePasswordToken(email, SecureUtil.md5(password)); try { //获取系统交互的当前"用户",用于登录,login()可能会抛出AuthenticationException异常,我们这里捕获对应的异常,根据异常做对应的返回

spring boot+mybatis+shiro对url动态授权,同一账号登录,踢出最早登录(一)

二次信任 提交于 2020-02-26 05:18:20
老规矩开始之前的两问:干什么,为什么这么干 场景: 根本问题:任何多用户的系统都存在身份鉴权。简单来说,不同用户在同一个系统有不同的操作,那么系统必然要识别用户。 产生问题:身份识别之后,对于一个系统来说,就可以进行正常使用,但是这个时候任何人都可以获得系统的信息,这就产生了授权。 为什么使用shiro? shiro是一款专门用来身份识别与授权的框架 shiro能干什么? 进行身份识别和授权 开始: 1:pom.xml 引入相关包 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-ehcache</artifactId> <version>1.2.2</version> </dependency>

003 Shiro的认证

冷暖自知 提交于 2020-02-26 02:21:57
一 . 概述   认证:简单说就是登录,用户携带账号和密码信息通过Subject对象与shiro进行交互,看用户的身份凭证是否正确.   本节需要演示认证的流程. 二 .搭建环境   本次使用ini充当Realm对象,使用IniSecurityManager充当SecurityManager对象,这个在后面我们都会重写进行定制的,这里只是简单介绍流程.   我们的ini文件的内容: [users] trek=123 这个ini文件之中,定义了一个账号为trek,密码为123的用户. 三 .流程代码     //实现shiro的认证过程//1---------------创建SecurityManager----------------- //创建SecurityManager SecurityManager securityManager = new IniSecurityManagerFactory("classpath:shiro.ini").createInstance(); //将当前的SecurityManager设置到当前的环境之中 SecurityUtils.setSecurityManager(securityManager); //2-----创建Subject对象 //下面实现的是一个登陆的功能 //获取Subkect,相当与一个Currentuser