shiro

Shiro Realm 权限的验证流程和缓存机制

无人久伴 提交于 2020-08-16 01:30:04
我们可以定义多个Realm权限类,继承AuthenticatingRealm。 如果是这样,那Shiro验证的策略和顺序是怎样的呢? 策略 通过查看源码,Shiro的Spring Boot自动配置是至少一个通过策略,即有一个权限类通过就判定有权限并通过。 自动配置类: org.apache.shiro.spring.config.web.autoconfigure.ShiroWebAutoConfiguration @Bean @ConditionalOnMissingBean @Override protected AuthenticationStrategy authenticationStrategy() { return super.authenticationStrategy(); } protected AuthenticationStrategy authenticationStrategy() { return new AtLeastOneSuccessfulStrategy(); } 其他还有全部通过、首个通过,更多可以查看Shiro包下面的权限策略。 org.apache.shiro.authc.pam 顺序 Shiro是按在Spring Boot配置类中定义Realm Bean的顺序进行验证权限的。 验证流程 假设现在有R1,R2权限类

shiro整合shiro多验证登录(账号密码登录和使用手机验证码登录)

爱⌒轻易说出口 提交于 2020-08-15 07:56:19
1. 首先新建一个shiroConfig shiro的配置类,代码如下: @Configuration是标识这个类是一个配置文件,在启动时会加载这个类里面的内容,这个配置文件的位置的一定一定一定不能防止启动类外面的文件夹中,否则还会在启动类上加注解 @Bean 是将这个类交给spring管理 @Configuration public class SpringShiroConfig { /** * @param realms 这儿使用接口集合是为了实现多验证登录时使用的 * @return */ @Bean public SecurityManager securityManager(Collection<Realm> realms) { DefaultWebSecurityManager sManager = new DefaultWebSecurityManager(); sManager.setRealms(realms); return sManager; } @Bean public ShiroFilterFactoryBean shiroFilterFactory(SecurityManager securityManager) { ShiroFilterFactoryBean sfBean = new ShiroFilterFactoryBean(); sfBean

基于权限安全框架Shiro的登录验证功能实现

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-15 04:08:21
目前在企业级项目里做权限安全方面喜欢使用Apache开源的Shiro框架或者Spring框架的子框架Spring Security。 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。 Shiro框架具有轻便,开源的优点,所以本博客介绍基于Shiro的登录验证实现。 在maven里加入shiro需要的jar <!--shiro start--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-all</artifactId> <version>1.2.3</version> </dependency> <!-- shiro end--> 在web.xml加上Shiro过滤器配置: <!-- Shiro过滤器配置 start --> <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<

物联网项目开发 start 01

社会主义新天地 提交于 2020-08-14 13:04:48
物联网项目开发 start 01 小威架构 / boot-backend https://gitee.com/zhang.w/boot-backend.git 此项目源码采用前后端分离方式,spring boot开发后端,使用shiro进行权限控制,layui、bootstrap、jquery、html为前端,基于json进行交互,接口完全采用Restful的风格, 实现按钮级权限控制,可以作为开发项目的脚手架,做为基础项目。 1、git maven spring java web jdk idea community https://gitee.com/zhang.w/boot-backend.git sprint boot 2、source db code dependencies database script sql config db password   config email and password 3、pom file pom parent spring boot test spring boot spring boot aop actuator apring boot lombok  plugins   lombok json fastjson starter-web mybatis for db connection shiro mysql ehcache

spring boot war包改成jar包

浪子不回头ぞ 提交于 2020-08-13 18:34:50
war包配置: <?xml version="1.0"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.easytoolsoft</groupId> <artifactId>easyreport</artifactId> <version>2.0-SNAPSHOT</version> </parent> <artifactId>easyreport-web</artifactId> <packaging>war</packaging> <name>easyreport-web</name> <description>Web view module</description> <dependencies> <!-- easyreport modules --> <dependency> <groupId>com

shiro 后台逻辑处理登陆

我只是一个虾纸丫 提交于 2020-08-13 18:12:21
AuthenticationToken token = new UsernamePasswordToken(username, password.toCharArray(), false, null, null, false); Subject subject = UserUtils.getSubject(); subject.login(token); 当调用ShiroHandler中的subject.login()的时候,会自动调用Realm中的doGetAuthenticationInfo方法。 来源: oschina 链接: https://my.oschina.net/qiaojj/blog/4471346

Java后端开发。大学本科的时候我是如何赚到10w+?

二次信任 提交于 2020-08-13 16:18:45
大家好!我是 Guide 哥,Java 后端开发。一个会一点前端,喜欢烹饪的自由少年。 很多小伙伴比较好奇 Guide 是如何从大四的时候就已经自给自足,并且用自己赚的钱去了很多地方旅游(重庆、恩施、三亚…)。 今天我就说一下,我在大学接触到的所有让我赚过钱的事情。 另外,这里多说一句吧! 我真的不希望这篇给一些在校大学生造成误解,觉得说大学就要抓紧开始赚钱了。大学的时候最赚钱的事情肯定就是自己好好学习本专业相关的知识,好好沉淀,后面找一个好工作。Guide 大学的虽然赚到了一些小钱,也花费了不少时间和精力,但是大部分经历都是对自己以后的发展有益的,有些甚至成为了自己简历上的亮点。总之,你可以利用自己的业余时间和技能去赚钱,但是一定要把握好一个度! 以下内容皆是大学时候的亲身经历,都是大学时候的宝贵回忆了。 办补习班 Guide 在大一的时候,自己作为负责人在异地(孝感)的小乡镇上办过 5 个补习班 。从租房子、租借桌椅再到招生基本都是从零开始做的。 当时去小乡镇上的时候,自己最差的时候住过 15 元的旅馆( 真的有 15 元的,就那种老旧民房的小破屋,还不能洗澡 )。 一路上受了很多委屈, 甚至被坑过两三次,但是,大部分人都还是非常善良的。 虽然很苦,但是确实一次是宝贵的经历。 在孝感办的这 5 个补习班各方面都做的比较好,最后获得的利润还不错。 因为,自己当时的情况属于打工的

spring-boot使用AOP统一处理日志

情到浓时终转凉″ 提交于 2020-08-13 15:41:10
新的项目,把之前用到的知识点总结一下。 有时候我们需要处理一些请求日志,或者对某些方法进行一些监控,这是就可以使用AOP(比如shiro中通常会加aop配置,以使用shiro认证注解( @RequiresPermissions、@RequiresRoles、@RequiresUser、@RequiresGuest )) 1:pom.xml添加依赖: <!--引用AOP--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 2:添加工具类 注意:如果(WebControllerAop) 类不准备放在项目启动目录下,启动类组件扫描需要添加(WebControllerAop) 类所在的包路径 比如我的:@ComponentScan(basePackages="com.example.config") package com.example.config; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation

shiro篇--shiroFilter的工作原理

五迷三道 提交于 2020-08-13 09:09:53
1.在web.xml里面配置了shiroFilter(过滤器),一般是拦截所有, 在applicationContext.xml配置了访问权限!(配置一个bean,class是shiroFilterFactoryBean,在property(属性里面)配置访问权限) 本文来源于:宋文超super,专属平台有csdn、思否(SegmentFault)、 简书、 开源中国(oschina),转载请注明出处。 来源: oschina 链接: https://my.oschina.net/u/3649200/blog/4437577

Java 考试系统项目源码 springboot mybaits vue.js 前后分离跨域

馋奶兔 提交于 2020-08-12 20:53:28
------------------------------------------------- 题库管理 22 . 图片库:创建文件目录,维护图片,供题库选择调用 23 . 单选题:维护单选试题,试题题目,选项,答案,类型,级别,状态,解析 24 . 多选题:维护多选试题,试题题目,选项,答案,类型,级别,状态,解析 25 . 判断题:维护判断试题,试题题目,答案,类型,级别,状态,解析 26 . 填空题:维护填空试题,试题题目,答案,类型,级别,状态,解析 27 . 问答题:维护问答试题,试题题目,答案,类型,级别,状态,解析 28 . 复合题:维护复合试题,富文本编辑器,试题题目,答案,类型,级别,状态,解析 ------------------------------------------------- 试卷 管理 29 . 组建试卷:创建试卷,题目、类型、总分、及格分数、时长、出成绩方式、重复考试、公布答案、考试对象等 试卷题型:试卷明细,给试卷添加题型,分值,随机或者手动从题库选择试题,预览试题,自动合计试卷总分 30 . 试卷列表:维护试卷,预览试卷,操作发放试卷 ------------------------------------------------- 考试 管理 31 . 正在考试:查看正在考试的试卷信息,预览试卷内容,查看考生成绩,结束考试操作 32