本章介绍一下常用的认证框架Shiro结合springboot以及集合jwt快速带您开发完成一个认证框架机制. Maven配置依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.3.2</version> </dependency> Shiro 配置类 @Confi…
JWT基本概念 JWT,即 JSON Web Tokens(RFC 7519),是一个广泛用于验证 REST APIs 的标准.虽说是一个新兴技术,但它却得以迅速流行. JWT的验证过程是: 前端(客户端)首先发送一些凭证来登录(我们编写的是 web 应用,所以这里使用用户名和密码来做验证). 后端(服务端)这里指Spring应用校验这些凭证,如果校验通过则生成并返回一个 JWT. 客户端需要在请求头的Authorization字段中以 "Bearer TOKEN" 的形式携带获取到的…
什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景.JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密. 为什么使用JWT 简洁(Compact): 可以通过URL,POST参数或者…
注解类: @Retention(RetentionPolicy.RUNTIME) public @interface DataAuthValid { //位置 public int index() default 0; //字段 id //public String id() default "id"; //字段 id public String orgId() default "org_id"; //mapper @SuppressWarnings("r…
大家好,我是小羽. 好久不见,给大家带来个好消息,小羽的全新专题「编程羽录」系列正式上新,主要是介绍一些关于面试题和经验总结的文章. 会为大家提供一些技术栈之外,程序员还需要的其他方面硬核知识,做到全面发展,才能在这个日趋激烈的社会,在未来有更好的发展空间. 话不多说,本期为大家介绍的是关于一些程序员必备技能介绍,相信掌握这些编码内外的技能,我们会朝优秀软件开发人员更近一步. 下面就来看看我总结的这些技能,准备好进收藏夹(吃灰)了嘛? 编码之内 代码规范 代码规范化带给我们的第一个好处就是看着很…
FastDFS是一个轻量级分布式文件系统,   使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务   FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage).   跟踪器主要做调度工作,在访问上起负载均衡的作用.   存储节点存储文件,完成文件管理的所有功能:就是这样的存储.同步和提供存取接口,FastDFS同时对文件的metadata进行管理.   所谓文件的meta data就是文件的相关属性,以键值对(key valuepair)…
一. 完成认证用户的动态授权功能 提示:根据当前认证用户查询数据库,获取其对应的权限,为其授权 操作步骤: 在realm的授权方法中通过使用principals对象获取到当前登录用户 创建一个授权信息对象 根据用户查询角色列表,并遍历角色列表 在循环体中将角色关键字添加到授权信息对象的角色属性中 根据用户查询权限列表,并遍历权限列表 在循环体中将权限关键字添加到授权信息对象的权限属性中 在角色与权限service类的根据用户查询角色与权限方法中判断用户是否为系统管理员 如果是系统管理员就查询出所…
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+案例 思维导图」「基础篇上」 SpringBoot图文教程2-日志的使用「logback」「log4j」 SpringBoot图文教程3-「'初恋'情结」集成Jsp SpringBoot图文教程4-SpringBoot 实现文件上传下载 SpringBoot图文教程5-SpringBoot 中使用A…
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+案例 思维导图」「基础篇上」 SpringBoot图文教程2-日志的使用「logback」「log4j」 SpringBoot图文教程3-「'初恋'情结」集成Jsp SpringBoot图文教程4-SpringBoot 实现文件上传下载 SpringBoot图文教程5-SpringBoot 中使用A…
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1-SpringBoot+Mybatis 环境搭建 SpringBoot图文教程2-日志的使用「logback」「log4j」 SpringBoot图文教程3-「'初恋'情结」集成Jsp SpringBoot图文教程4-SpringBoot 实现文件上传下载 SpringBoot图文教程5-SpringBoo…
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1-SpringBoot+Mybatis 环境搭建 SpringBoot图文教程2-日志的使用「logback」「log4j」 SpringBoot图文教程3-「'初恋'情结」集成Jsp SpringBoot图文教程4-SpringBoot 实现文件上传下载 SpringBoot图文教程5-SpringBoo…
如今,越来越多的公司开始 Docker 了,「三分之二的公司在尝试了 Docker 后最终使用了它」,也就是说 Docker 的转化率达到了 67%,同时转化时长也控制在 60 天内. 既然 Docker 这么火,Docker 监控是不是也该提上日程?或许具体问题要具体分析,但是似乎大家都在寻找新一代 Docker 监控的工具. 本次技术公开课将会给大家带来全方位的 Docker 实践,从监控之道到监控方案,让你了解到 Docker 实时性能状况,精准定位到性能薄弱的环节,从而优化应用,让监控之…
有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 每个知识点配套自测面试题,学完技术自我测试 本文初学向,所以希望文中所有的代码案例都能敲一遍 大哥大姐新年好,点赞转发不要少 **文本已收录至GitHub开源仓库 Lu_JavaNodes 码云仓库地址Lu_JavaNodes ,**包含教程涉及所有思维导图,案例代码和后续讲解视频,欢迎Star增砖添瓦. 前言 庚子鼠年,封村儿,在试过了睡觉,打麻将,做凉皮,做蛋糕之后,我不由的陷入了对人生和社会的…
承接上文 (完结撒花1-52系列)[JVM技术指南]「JVM总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"[上部] 并行收集器 并行收集器(也称为吞吐量收集器)是类似于串行收集器的分代收集器. 串行和并行收集器之间的主要区别是,并行收集器有多个线程,用于加速垃圾回收. 通过命令行选项 -XX:+UseParallelGC 启用并行收集器. 默认情况下,使用此选项,次要(minor)和主要(Major GC)都将并行运行,以进一步减少垃圾回收开销. 并行垃圾收集器线程数 可…
目录 01 一图详解「ls -l」 02 两种符号区分表示文件和目录 03 三种访问权限及表示 04 四种符号表示文件所属者用户 05 三个变更文件所属者及修改所属者权限的命令 06 工作实践命令举例 变更文件所属者 变更文件所属者对文件的权限 07 附录 chmod 命令使用示意图 08 小结 01 一图详解「ls -l」 02 两种符号区分表示文件和目录 -(横线) # 表示非目录文件 d # 表示目录文件 03 三种访问权限及表示 文件或目录的访问权限分为只读.只写.可执行三种. r #…
自定义注解 PermissionCheck: package com.mgdd.sys.annotation; import java.lang.annotation.*; /** * @author LWW * @site www.lww.com * @company * @create 2019-12-16 14:08 */ // 标注这个类它可以标注的位置 @Target({ElementType.METHOD,ElementType.ANNOTATION_TYPE}) // 标注这个注解…
摘要:出于各种原因,并非所有人都信任 DevOps .有些人觉得 DevOps 只不过给开发者改善产品提供了一个途径而已,还有的人觉得 DevOps 是一堆悦耳的空头支票,甚至有人认为 DevOps 根本无法采用. [编者按]近日,Alex Honor 在 Dev2ops 上撰文阐述了当下企业对 DevOps 所存在的偏见,并就造成这些问题的原因分享了企业该如何向 DevOps 模式切换,本文系 OneAPM 工程师编译整理. 笔者曾帮助多家大型企业深入了解 DevOps,帮助他们理解如何改善服…
前言 两天前写了文章<「造个轮子」--cicada(轻量级 WEB 框架)> 向大家介绍了 cicada 之后收到很多反馈,也有许多不错的建议. 同时在 GitHub 也收获了 80 几颗 小♥♥(绝对不是刷的..) 也有朋友希望能出一个源码介绍,本文就目前的 v1.0.1 版本来一起分析分析. 没有看错,刚发布就修复了一个 bug,想要试用的请升级到 1.0.1 吧. 技术选型 一般在做一个新玩意之前都会有技术选型的过程,但这点在做 cicada 的时候却异常简单. 因为我的需求是想提供一个…
区块链技术联盟 2018-02-08 17:06:40 目录 一.导语 二.shiro功能介绍 三.shiro详解 四.shiro实战案例分享 五.系统配置 六.其他 一.导语 今天推荐给大家一个非常简单,实用的开源权限框架:Shiro,这也是Java官方推荐的权限框架. 尽管网上有很多类似的文章,但是都不够完善,尤其是涉及到 freemaker,springboot,shiro,redis 整合的文章非常少,并且更多的是理论,缺失完整的可运行的源代码. 本文提供的源码,你可以将代码直接拷贝到自…
为了使本篇文章更容易让读者读懂,我特意写了上一篇<任何人都需要知道的「世界时间系统」构成原理,尤其开发人员>的科普文章.本文才是重点,绝对要读,走起! Java平台时间系统的设计方案 几乎任何事物都会有“起点”这样的概念,比如人生的起点就是我们出生的那一刻. Java平台时间系统的起点就是世界时间(UTC)1970年1月1日凌晨零点零分零秒.用专业的写法是“1970-01-01T00:00:00Z”,最后的大写字母“Z”指的是0时区的意思. 在Java平台时间系统里,这个起点用单词“epoch…
❝ 文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) ❞ 单体式应用程序 与微服务相对的另一个概念是传统的「单体式应用程序」( Monolithic application ),单体式应用内部包含了所有需要的服务.而且各个服务功能模块有很强的耦合性,也就是相互依赖彼此,很难拆分和扩容. 说在做的各位都写过单体程序,大家都没意见吧?给大家举个栗子,刚开始写代码你写的helloworld程序就是单体程序,一个程序包含所有…
Windows Redis 安装 链接: https://pan.baidu.com/s/1MJnzX_qRuNXJI09euzkPGA 提取码: 2c6w 复制这段内容后打开百度网盘手机App,操作更方便哦 无脑下一步即可 使用 出现错误: creating server tcp listening socket 127.0.0.1:6379: bind No error 解决方案: redis-cli.exe shutdown exit redis-server.exe redis.wind…
Windows安装部署 下载 地址:[https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.5.2/rocketmq-all-4.5.2-bin-release.zip] 选择'Binary'进行下载 解压已下载工程 配置 新增系统变量 ROCKETMQ_HOME -> F:\RocketMQ\rocketmq-4.5.2 JAVA_HOME -> F:\Java_JDK\JDK1.8 Path 系统变量新增:Maven/bin目录 PS:…
Nginx篇 基本介绍 Nginx是一款轻量级的 Web服务器 / 反向代理服务器 / 电子邮件(IMAP/POP3)代理服务器,主要的优点是: 支持高并发连接,尤其是静态界面,官方测试Nginx能够支撑5万并发连接 内存占用极低 配置简单,使用灵活,可以基于自身需要增强其功能,同时支持自定义模块的开发 使用灵活:可以根据需要,配置不同的负载均衡模式,URL地址重写等功能 稳定性高,在进行反向代理时,宕机的概率很低 支持热部署,应用启动重载非常迅速 基础使用 Windows版 安装 文件下载地址…
微信小程序开放公测了,9月底我曾经写过一篇 「微信小程序」来了,其中最后一句:"谢天谢地,我居然还是个前端". 这种火爆的新事物总是令人激动,感谢这个时代. 但是,当我真作为开发者去一行行撸码,我还是忍不住翻起了白眼. 终于,11/03微信小程序正式开始公测.本着"另杀错莫放过"的原则,我也开始了自己的微信小程序学习之旅. ps:以下出现的"小程序"即微信小程序. 对小程序感兴趣的同学很多,但是申请公测的门槛着实不低,得是企业.政府.媒体等等,反…
作者:坏蛋链接:https://zhuanlan.zhihu.com/p/24472674来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实际并无什么门槛要求,只需要理解基础的php语法规则,以及理解各种类型漏洞的出现原因则可以开始尝试审计php源代码.通常的漏洞演示中…
由于前两周一直在老家处理重要事情,虽然朋友圈被「微信小程序」刷爆了,但并没有时间深入了解. 昨天回广州之后,第一件事情就是把「微信小程序」相关的文章.开发文档.设计规范全部看了一遍,基本上明白了「微信小程序」是怎么回事,我关注的公众号都很看好「微信小程序」的前景. 作为一个「前端开发者」,确实觉得「微信小程序」是个不错的机会,但从哪个方向投入到这股的热潮中呢?咨询了好几位公众号的作者,得到了以下回复: 开发新的轮子. 赶快投入,开始做一些应用, 大家都去挖金子,你可以去边上卖水. 关注排名100…
关于项目 项目地址 预览地址 记录最近做的一个 demo,前端使用 React,用 React Router 实现前端路由,Koa 2 搭建 API Server, 最后通过 Nginx 做请求转发. 文章列表 第一篇:React + Node 单页应用「一」前端搭建 React + Node 单页应用「二」OAuth 2.0 授权认证 & GitHub 授权实践 这是第二篇,介绍下 OAuth 2.0 授权机制,以及 Github App 授权过程,通过获取授权使用 Github API. O…
作者:匿名用户链接:https://www.zhihu.com/question/57468448/answer/153000587来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 先说Google 服务框架Google 服务框架全称 Google Mobile Service,其中包括了应用包,也就是我们希望用到的各种 Google 应用.Android 虽然开源且自由,但 Google 的应用程序并不包含其中,它们都属于 Google 的知识产权.所以厂家们预装…
前言 在前两次的 cicada 版本中其实还不支持读取配置文件,比如对端口.路由的配置. 因此我按照自己的想法创建了一个 issue ,也收集到了一些很不错的建议. 最终其实还是按照我之前的想法来做了这个配置管理. 同时将 cicada 升级到了 v1.0.2. 目标 在做之前是要把需求想好,到底怎样的一个配置管理是对开发人员来说比较友好的? 我认为有以下几点: 可以自定义配置,并且支持不同的环境(开发.测试.生产). 使用灵活.对使用者来说不要有太多的束缚. 理论上来说配置这个东西应当完全独立…