Spring Security

spring boot 2.0.3+spring cloud (Finchley)9、 安全组件Spring Boot Security

∥☆過路亽.° 提交于 2021-02-20 08:38:02
官方文档 一、Spring Security介绍 Spring Security是Spring Resource社区的一个安全组件,Spring Security为JavaEE企业级开发提供了全面的安全防护。Spring Security采用“安全层”的概念,使每一层都尽可能安全,连续的安全层可以达到全面的防护。Spring Security可以在Controller层、Service层、DAO层等以加注解的方式来保护应用程序的安全。Spring Security提供了细粒度的权限控制,可以精细到每一个API接口、每一个业务的方法,或每一个操作数据库的DAO层的方法。Spring Security提供的是应用程序层的安全解决方案,一个系统的安全还需要考虑传输层和系统层的安全,如采用Https协议、服务器部署防火墙等。 使用Spring Security的一个重要原因是它对环境的无依赖性、低代码耦合性。Spring Security提供了数十个安全模块,模块与模块之间的耦合性低,模块之间可以自由组合来实现特定需求的安全功能。 在安全方面,有两个主要的领域,一是“认证”,即你是谁;二是“授权”,即你拥有什么权限,Spring Security的主要 目标就是在这两个领域。 JavaEE有另一个优秀的安全框架Apache Shiro,Apache Shiro在企业及的项目开发中十分受欢迎

Activiti7整合SpringBoot(十二)

巧了我就是萌 提交于 2021-02-18 18:30:04
1 SpringBoot 整合 Activiti7 的配置 为了能够实现 SpringBoot 与 Activiti7 整合开发,首先我们要引入相关的依赖支持。 所以,我们在工程的 pom.xml 文件中引入相关的依赖,具体依赖如下所示: < properties > < project.build.sourceEncoding > UTF-8 </ project.build.sourceEncoding > < project.reporting.outputEncoding > UTF-8 </ project.reporting.outputEncoding > < java.version > 1.8 </ java.version > </ properties > < dependencies > < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-jdbc </ artifactId > </ dependency > < dependency > < groupId > mysql </ groupId > < artifactId > mysql-connector-java </ artifactId > </

SpringBoot+Jpa+SpringSecurity+Redis+Vue的前后端分离开源系统

可紊 提交于 2021-02-11 19:13:13
项目简介: eladmin基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持前端菜单动态路由。 在 github 和 gitee 上看了很多热门的项目,发现大多数都是基于mybatis的(可能是国内业务太复杂的缘故吧),但是这个项目是基于JPA的。 项目地址: https://github.com/elunez/eladmin 开发文档: https://docs.auauz.net/ 体验地址: https://auauz.net/ 系统功能 用户管理:提供用户的相关配置,新增用户后,默认密码为123456 角色管理:对权限与菜单进行分配,可根据部门设置角色的数据权限 权限管理:权限细化到接口,可以理解成按钮权限 菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单 部门管理:可配置系统组织架构,树形表格展示 岗位管理:配置各个部门的职位 字典管理:应广大码友的要求加入字典管理,可维护常用一些固定的数据,如:状态,性别等 操作日志:记录用户操作的日志 异常日志:记录异常日志,方便开发人员定位错误 系统缓存:使用jedis将缓存操作可视化,并提供对redis的基本操作,可根据需求自行扩展

Java开发企业级权限管理系统

时间秒杀一切 提交于 2021-02-11 14:50:32
Java开发企业级权限管理系统 download: 百度云盘 全程手把手带你运用Java技术栈,打造一套基于最流行的RBAC拓展模型的,分布式的,有界面的,高灵活性,高拓展性的企业级权限管理系统。学完本课程你将可以轻松应对绝大多数企业开发中与权限管理及后台系统相关的需求。 技术储备要求 后端技术要求:有SSM、Maven、Redis基础 前端技术要求:有jQuery、Bootstrap、Mustache、zTree、Duallistbox基础 课程目錄 : 第1章 课程整體概述(購置套餐更劃算) 本章首先引見爲什麼大公司都有權限管理係統,然後會對權限管理中盛行的RBAC模型及拓展做重點阐明,並給出理想中的權限管理係統應該是什麼樣子的。之後會對這門课程做總體内容引見與课程佈置,最後會引見這門课程會觸及到的技術,讓大家明白理解到這門课程到底能收獲些什麼(课程提供QQ交流群)。... 1-1 课前必讀(不看會錯過一個億) 1-2 课程導學試看 1-3 爲什麼企業級項目需求權限管理試看 1-4 權限管理的中心是什麼? 1-5 理想中的權限管理應該是什麼樣的?試看 1-6 主流開源權限管理框架有哪些? 1-7 课程佈置與學問點引見 第2章 Spring Security權限框架理論與實戰演練 本章首先讓大家學習到Spring Security權限框架的架構,之後大家能夠學習到Spring

分布式事务有哪些解决方案?

↘锁芯ラ 提交于 2021-02-07 20:30:16
来源:http://dwz.date/eaAm 分布式事务是什么 数据库事务的特性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durabilily),简称 ACID。 在数据库执行中,多个并发执行的事务如果涉及到同一份数据的读写就容易出现数据不一致的情况,不一致的异常现象有以下几种。 脏读 ,是指一个事务中访问到了另外一个事务未提交的数据。例如事务 T1 中修改的数据项在尚未提交的情况下被其他事务(T2)读取到,如果 T1 进行回滚操作,则 T2 刚刚读取到的数据实际并不存在。 不可重复读 ,是指一个事务读取同一条记录 2 次,得到的结果不一致。例如事务 T1 第一次读取数据,接下来 T2 对其中的数据进行了更新或者删除,并且 Commit 成功。这时候 T1 再次读取这些数据,那么会得到 T2 修改后的数据,发现数据已经变更,这样 T1 在一个事务中的两次读取,返回的结果集会不一致。 幻读 ,是指一个事务读取 2 次,得到的记录条数不一致。例如事务 T1 查询获得一个结果集,T2 插入新的数据,T2 Commit 成功后,T1 再次执行同样的查询,此时得到的结果集记录数不同。 脏读、不可重复读和幻读有以下的包含关系,如果发生了脏读,那么幻读和不可重复读都有可能出现。 不同隔离级别 SQL 标准根据三种不一致的异常现象

深入理解 WebSecurityConfigurerAdapter【源码篇】

六月ゝ 毕业季﹏ 提交于 2021-02-03 06:39:33
松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里--> Spring Boot+Vue+微人事视频教程 我们继续来撸 Spring Security 源码,今天来撸一个非常重要的 WebSecurityConfigurerAdapter。 我们的自定义都是继承自 WebSecurityConfigurerAdapter 来实现的,但是对于 WebSecurityConfigurerAdapter 内部的工作原理,配置原理,很多小伙伴可能都还不太熟悉,因此我们今天就来捋一捋。 我们先来看一张 WebSecurityConfigurerAdapter 的继承关系图: 在这层继承关系中,有两个非常重要的类: SecurityBuilder SecurityConfigurer 这两个类松哥在之前的文章中都和大家分享过了,具体参考: 深入理解 HttpSecurity【源码篇】 (本文讲的是 SecurityBuilder 体系) 深入理解 SecurityConfigurer 【源码篇】 所以关于这两个类的介绍以及作用,松哥这里就不赘述了。咱们直接从 WebSecurityConfigurer 开始看起。 1.WebSecurityConfigurer WebSecurityConfigurer 其实是一个空接口,但是它里边约束了一些泛型,如下: public

人脸识别SpringBoot快递代取平台系统 珍贵的一次开发经验分享给大家

两盒软妹~` 提交于 2021-01-23 10:56:37
最近上海理工大学光电学院的拉吉研究生张逸风全家出了车祸,他妈妈住进了ICU脑袋也不好使了,他爹害也不好意思过世了,这孩子挺坚强的,媳妇被人绿了,自己也住进去了,他委托我帮他开发一个系统,帮他圆梦,因此我开始了如下的创作,帮大家快速入门开发,奥利给 相关技术栈 前端: Thymeleaf、Bootstrap、Ajax、JQuery 开发环境: IDEA 、SpringBoot 2.1、Maven 数据库与缓存 :MySQL 5.7、Redis、Guava Cache 三方服务 :阿里云云短信服务、支付宝支付(沙箱)、百度人脸识别 安全框架 :Spring Security 其他技术 :API 接口限速、二级缓存 主要功能 登陆与注册: 用户名密码、短信验证码、人脸识别登录、QQ登录 权限: 普通用户、配送员、后台管理员 普通用户 :下单支付、订单查询、意见反馈、订单评价 配送员 :接单、订单管理、意见反馈、订单评价 系统管理员 :用户管理、订单管理、反馈管理 核心代码解析 短信接口代码解析 public SendSmsResponse sendSms(String mobile,String template_code,String sign_name,String param) throws ClientException { // String accessKeyId =env

当下最流行的后端框架

╄→尐↘猪︶ㄣ 提交于 2021-01-21 12:35:00
程序员日常开发,很需要一块适合自己适合项目的脚手架(快速开发平台),这也是我们团队准备解决这一痛点,开发了 xiaonuo系列 框架,虽说是开源平台同系列产品较多,从代码规范二次开发方面,我极力推荐使用小诺。 Vue前后分离登录界面 推荐理由: 模块化架构设计,层次清晰,业务层推荐写到单独模块,方便升级。 前后端分离架构,分离开发,分离部署,前后端互不影响。 前端技术采用vue + antdvPro + axios。 后端采用spring boot + mybatis-plus + hutool等,开源可靠。 基于spring security(jwt) + 用户UUID双重认证。 基于AOP实现的接口粒度的鉴权,最细粒度过滤权限资源。 基于hibernate validator实现的校验框架,支持自定义校验注解。 提供Request-No的响应header快速定位线上异常问题。 在线用户可查,可在线踢人,同账号登录可同时在线,可单独在线(通过系统参数配置)。 支持前端 + 后端在线代码生成。 文件,短信,缓存,邮件等,利用接口封装,方便拓展。 文件默认使用本地文件,短信默认使用阿里云sms,缓存默认使用内存缓存。 用户管理 代码风格统统采用阿里巴巴规范进行开发,分包合理,升级方便 来源: oschina 链接: https://my.oschina.net/u/4355040

是找茬?还是装B?阿里面试每轮必问的“Spring Boot”意义何在?

瘦欲@ 提交于 2021-01-18 17:00:28
如今微服务如日中天,Spring Boot作为构建Spring Cloud全家桶的基础框架,早已经成长为后端的主流技术了,同时它也是Java工程师面试必问的知识点。 这一点呢,我是深有体会,因为每天都有大量读者都会在小编后台给我留言,说希望多分享一些SpringBoot相关的内容,每天也有大量学员检索SpringBoot相关的视频以及学习资料。 所以,今天小编就来给大家带来一波福利!在这篇文章我会推荐一些优质的 Spring Boot 实战书籍 (Spring Boot实战派以及Spring Boot2实战之旅) 帮助大家深入学习 Spring Boot。文章质量的话,大家可以放心。同时,小编还专门为大家准备了一份突击金三银四的面试必备宝典,有想要获取的小伙伴在文末有领取方式!! 废话不多说,我们直奔主题: Spring Boot实战派 入门篇(1~3章) 基础篇(4~6章) 进阶篇(7~13章) 文章重点 Spring Boot 进阶 本章首先介绍AOP、loC、Servlet容器;然后深入讲解自动配置原理、自定义 Starter、自定义注解:最后讲解异常的处理,以及如何进行单元测试 用ORM操作 SQL数据库 集成安全框架,实现安全认证和授权 集成NoSQL数据库,实现搜索引擎 集成Redis,实现高并发 本章首先介绍Redis的原理、概念、数据类型

QPS、TPS、并发用户数、吞吐量关系

六眼飞鱼酱① 提交于 2021-01-13 00:03:31
来源:https://juejin.cn/post/6844904084504313863 QPS 「QPS」 Queries Per Second 是每秒查询率 ,是 「一台服务器」 每秒能够相应的查询次数,是对一个特定的查询服务器 「在规定时间内」 所处理流量多少的衡量标准, 即每秒的响应请求数,也即是最大吞吐能力。 TPS 「TPS」 Transactions Per Second 也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数, 「QPS和TPS区别」 个人理解如下: TPS即每秒处理事务数,包括 用户请求服务器 服务器自己的内部处理 服务器返回给用户 这三个过程,每秒能够完成N个这三个过程,TPS也就是N; QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“QPS”之中。 「例子」 例如:访问一个页面会请求服务器3次,一次访问,产生一个“T”,产生3个“Q” 例如:一个大胃王一秒能吃10个包子,一个女孩子0.1秒能吃1个包子,那么他们是不是一样的呢?答案是否定的,因为这个女孩子不可能在一秒钟吃下10个包子,她可能要吃很久