shiro

JeecgBoot 2.4 微服务正式版发布,基于SpringBoot的低代码平台

允我心安 提交于 2020-12-03 15:11:52
项目介绍 JeecgBoot 是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性! 当前版本 : v2.4 | 2020-12-01 源码下载 https://github.com/zhangdaiscott/jeecg-boot https://gitee.com/jeecg/jeecg-boot 技术文档 技术官网: http://www.jeecg.com 在线演示: http://boot.jeecg.com 技术文档: http://doc.jeecg.com 常见问题: http://jeecg.com/doc/qa 微服务入门视频: https://www.bilibili.com/video/BV1sZ4y1G7LL QQ群:816531124 升级日志 此版本重构很大,重点升级了微服务模块,完善了微服务所需的各个组件,实现了微服务方案落地( 新版可一秒变微服务)

JeecgBoot 2.4 微服务正式版发布,基于SpringBoot的低代码平台

*爱你&永不变心* 提交于 2020-12-03 14:18:11
项目介绍 JeecgBoot 是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性! 当前版本 : v2.4 | 2020-12-01 源码下载 https://github.com/zhangdaiscott/jeecg-boot https://gitee.com/jeecg/jeecg-boot 技术文档 在线演示: http://boot.jeecg.com 技术文档: http://doc.jeecg.com 微服务入门视频: https://www.bilibili.com/video/BV1sZ4y1G7LL 常见问题: http://jeecg.com/doc/qa QQ群:816531124 升级日志 此版本重构很大,重点升级了微服务模块,完善了微服务所需的各个组件,实现了微服务方案落地( 新版可一秒变微服务); 同时代码生成器也做了重点升级,更加智能;

补习系列(13)-springboot redis 与发布订阅

雨燕双飞 提交于 2020-12-01 01:48:14
一、订阅发布 订阅发布 是一种常见的设计模式,常见于消息系统的场景。 如下面的图: [来自百科] 消息发布者是消息载体的生产者,其通过某些主题来向 调度中心 发送消息; 而消息订阅者会事先向 调度中心 订阅其 "感兴趣" 的主题,随后会获得新消息。 在这里, 调度中心 是一个负责消息控制中转的逻辑实体,可以是消息队列如ActiveMQ,也可以是Web服务等等。 常见应用 微博,每个用户的粉丝都是该用户的订阅者,当用户发完微博,所有粉丝都将收到他的动态; 新闻,资讯站点通常有多个频道,每个频道就是一个主题,用户可以通过主题来做订阅(如RSS),这样当新闻发布时,订阅者可以获得更新。 二、Redis 与订阅发布 Redis 支持 (pub/sub) 的订阅发布能力,客户端可以通过channel(频道)来实现消息的发布及接收。 1. 客户端通过 SUBSCRIBE 命令订阅 channel 2. 客户端通过PUBLISH 命令向channel 发送消息; 而后,订阅 channel的客户端可实时收到消息。 除了简单的SUBSCRIBE/PUBLISH命令之外,Redis还支持订阅某一个模式的主题(正则表达式), 如下: PSUBSCRIBE / topic / cars /* 于是,我们可以利用这点实现相对复杂的订阅能力,比如: 在电商平台中订阅多个品类的商品促销信息; 智能家居场景

spring与shiro整合

两盒软妹~` 提交于 2020-11-30 01:27:53
spring与shiro整合 (1)加入所需要是jar包 (2)配置shiro Filter(web.xml) <!-- shiro过虑器,DelegatingFilterProxy通过代理模式将spring容器中的bean和filter关联起来 --> < filter > < filter-name > shiroFilter </ filter-name > < filter-class > org.springframework.web.filter.DelegatingFilterProxy </ filter-class > <!-- 设置true由servlet容器控制filter的生命周期 --> < init-param > < param-name > targetFilterLifecycle </ param-name > < param-value > true </ param-value > </ init-param > <!-- 设置spring容器filter的bean id,如果不设置则找与filter-name一致的bean --> < init-param > < param-name > targetBeanName </ param-name > < param-value > shiroFilter </ param-value >

springMVC自定义方法属性解析器

自作多情 提交于 2020-11-24 15:58:13
使用场景例子: 用户登陆系统一般会往Session里放置一个VO对象,然后在controller里会来获取用户的userId等信息。 之前的写法是:@SessionAttributes配合@ModelAttribute来进行参数值的注入,但这样需要写2个注解,其中SessionAttributes加在类上,ModelAttribute加在方法的属性上。 SpringMVC提供了HandlerMethodArgumentResolver接口来处理我们的自定义参数的解析。 例子: 1、获取用户信息的注解类 import java.lang.annotation.*; /** * <p>绑定当前登录的用户</p> * <p>不同于@ModelAttribute</p> */ @Target({ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface CurrentUser { /** * 当前用户在request中的名字 * * @return */ String value() default "loginUser"; } 2、自定义的参数解析器 import com.gongren.cxht.pay.web.shiro.bind.annotation

xmall商城学习笔记——JWT改造登录

邮差的信 提交于 2020-11-21 04:06:01
文章目录 前言 一、无状态登录是什么? 1.有状态登录 2.无状态登录 3.如何实现无状态 4.JWT 5.JWT交互流程 二、理解原有解决方案! 1.准备util类 2.xmall-manager-web 重点 三.改造项目 总结 前言 之前给大家许诺的给xmall 加上jwt 校验的项目终于弄好了,最近一直加班身心俱疲。 提示:以下是本篇文章正文内容,下面案例可供参考 一、无状态登录是什么? 了解JWT首先要知道什么是无状态登录,什么是有状态登录。 1.有状态登录 有状态登录 :有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。 例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户的信息。 缺点是什么? 服务端保存大量数据,增加服务端压力 服务端保存用户状态,无法进行水平扩展 客户端请求依赖服务端,多次请求必须访问同一台服务器 2.无状态登录 微服务集群中的每个服务,对外提供的都是Rest风格的接口。而Rest风格的一个最重要的规范就是:服务的无状态性,即: 服务端不保存任何客户端请求者信息 客户端的每次请求必须具备自描述信息

shiro注解

安稳与你 提交于 2020-11-20 05:17:50
shiro注解权限控制-5个权限注解 RequiresAuthentication: 使用该注解标注的类,实例,方法在访问或调用时,当前Subject必须在当前session中已经过认证。 RequiresGuest:   使用该注解标注的类,实例,方法在访问或调用时,当前Subject可以是“gust”身份,不需要经过认证或者在原先的session中存在记录。 RequiresPermissions:   当前Subject需要拥有某些特定的权限时,才能执行被该注解标注的方法。如果当前Subject不具有这样的权限,则方法不会被执行。 RequiresRoles:   当前Subject必须拥有所有指定的角色时,才能访问被该注解标注的方法。如果当天Subject不同时拥有所有指定角色,则方法不会执行还会抛出AuthorizationException异常。 RequiresUser   当前Subject必须是应用的用户,才能访问或调用被该注解标注的类,实例,方法。 使用方法: Shiro的认证注解处理是有内定的处理顺序的,如果有个多个注解的话,前面的通过了会继续检查后面的,若不通过则直接返回,处理顺序依次为(与实际声明顺序无关): RequiresRoles RequiresPermissions RequiresAuthentication RequiresUser

springboot整合shiro(授权)

╄→尐↘猪︶ㄣ 提交于 2020-11-19 11:06:12
一:数据库增加权限字段pperms 二:改变对应的实体类,增加perms p ublic class User { private Integer id ; private String username ; private String password ; private Integer role_id ; private String perms ; 三:配置类设置权限过滤器,和未授权访问页面 public ShiroFilterFactoryBean getShiroFilterFactoryBean ( @Qualifier ( "securityManager" ) DefaultSecurityManager securityManager ) { ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean ( ) ; //设置安全管理器 shiroFilterFactoryBean . setSecurityManager ( securityManager ) ; //添加shiro内置过滤器 Map < String , String > filterMap = new LinkedHashMap < > ( ) ; filterMap . put ( "/test" ,

vue-element-admin跟springboot+shiro部署爬坑记

北城余情 提交于 2020-11-11 10:40:58
今天把前端采用vue-element-admin与springboot的项目部署到正是线上,在开发线上很OK的,一放上去我的天啊,坑是真的多阿。下面听我一一道来:我这边采用的是nginx服务器部署。 1. 首页能显示,F5强刷新页面404空白页。 location / { index index.php index.html index.htm;     try_files $uri $uri/ /index.html; } 2.接口出现返回405,404,403错误 1。去掉vue.config.js中的 // proxy: { // // change xxx-api/login => mock/login // // detail: https://cli.vuejs.org/config/#devserver-proxy // [process.env.VUE_APP_BASE_API]: { // target: `http://127.0.0.1:7081/callcenter-api`, // changeOrigin: true, // pathRewrite: { // ['^' + process.env.VUE_APP_BASE_API]: '' // } // } // }, //after: require('./mock/mock-server.js')

第一章 Shiro简介——《跟我学Shiro》

倖福魔咒の 提交于 2020-11-09 06:00:20
1.1 简介 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。 本教程只介绍基本的Shiro使用,不会过多分析源码等,重在使用。 Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。这不就是我们想要的嘛,而且Shiro的API也是非常简单;其基本功能点如下图所示: Authentication : 身份认证/登录,验证用户是不是拥有相应的身份; Authorization : 授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限; Session Manager : 会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通JavaSE环境的,也可以是如Web环境的; Cryptography : 加密