![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringSecurity
SpringSecurity
这个作者很懒,什么都没留下…
展开
-
Spring Security:添加登录验证码
登录添加验证码是一个非常常见的需求,网上也有非常成熟的解决方案。在传统的登录流程中加入一个登录验证码也不是难事,但是如何在 Spring Security 中添加登录验证码,对于初学者来说还是一件蛮有挑战的事情,因为默认情况下,在 Spring Security 中我们并不需要自己写登录认证逻辑,只需要自己稍微配置一下就可以了,所以如果要添加登录验证码,就涉及到如何在 Spring Security 即有的认证体系中,加入自己的验证逻辑。准备验证码要有验证码,首先得先准备好验证码,本文采用 Java 自原创 2020-05-29 17:32:31 · 3342 阅读 · 2 评论 -
Spring Security:比较Shiro
虽然目前 Spring Security 一片火热,但是 Shiro 的市场依然存在,今天我就来稍微的说一说这两个框架的,方便大家在实际项目中选择适合自己的安全管理框架。首先我要声明一点,框架无所谓好坏,关键是适合当前项目场景,作为一个年轻的程序员更不应该厚此薄彼,或者拒绝学习某一个框架。小孩子才做选择题,成年人两个都要学!所以接下来主要结合我自己的经验来说一说这两个框架的优缺点,没有提到的地方也欢迎大家留言补充。Spring Security因为 SpringBoot 而火Spring Sec原创 2020-05-27 17:19:15 · 442 阅读 · 0 评论 -
Spring Security:自动登录(降低安全风险)
在上篇文章中,我们提到了 Spring Boot 自动登录存在的一些安全风险,在实际应用中,我们肯定要把这些安全风险降到最低,下面就来和大家聊一聊如何降低安全风险的问题。降低安全风险,我主要从两个方面来给大家介绍:持久化令牌方案二次校验持久化令牌原理要理解持久化令牌,一定要先搞明白自动登录的基本玩法,参考(Spring Security:自动登录)。持久化令牌就是在基本的自动登录功能基础上,又增加了新的校验参数,来提高系统的安全性,这一些都是由开发者在后台完成的,对于用户来说,登录体验和普原创 2020-05-27 16:22:51 · 499 阅读 · 0 评论 -
Spring Security:自动登录
自动登录是我们在软件开发时一个非常常见的功能,例如我们登录 QQ 邮箱:很多网站我们在登录的时候都会看到类似的选项,毕竟总让用户输入用户名密码是一件很麻烦的事。自动登录功能就是,用户在登录成功后,在某一段时间内,如果用户关闭了浏览器并重新打开,或者服务器重启了,都不需要用户重新登录了,用户依然可以直接访问接口数据。作为一个常见的功能,我们的 Spring Security 肯定也提供了相应的支持,本文我们就来看下 Spring Security 中如何实现这个功能。实战代码首先,要实现记住我这个原创 2020-05-27 14:25:54 · 581 阅读 · 0 评论 -
Spring Security:整合Spring Data Jpa
Spring Security+Spring Data Jpa 强强联手,安全管理没有简单,只有更简单!创建工程首先我们创建一个新的 Spring Boot 工程,添加如下依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><de原创 2020-05-27 11:30:35 · 309 阅读 · 0 评论 -
Spring Security:用户数据存入数据库
Spring Security 也给我们提供了一个它自己设计好的权限数据库,这里我们先来看看这是怎么回事!先来学这个简单的,然后我们再去看复杂的。UserDetailServiceSpring Security 支持多种不同的数据源,这些不同的数据源最终都将被封装成 UserDetailsService 的实例,我们自己来创建一个类实现 UserDetailsService 接口,除了自己封装,我们也可以使用系统默认提供的 UserDetailsService 实例,例如上篇文章和大家介绍的 InMem原创 2020-05-27 10:09:40 · 508 阅读 · 3 评论 -
Spring Security:授权
授权所谓的授权,就是用户如果要访问某一个资源,我们要去检查用户是否具备这样的权限,如果具备就允许访问,如果不具备,则不允许访问。准备测试用户因为我们现在还没有连接数据库,所以测试用户还是基于内存来配置。基于内存配置测试用户,我们有两种方式,第一种就是我们本系列前面几篇文章用的配置方式,如下:@Overrideprotected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemor原创 2020-05-26 18:31:22 · 477 阅读 · 0 评论 -
Spring Security:前后端分离登录
Spring Security 做前后端分离,咱就别做页面跳转了!统统 JSON 交互这前后端分离开发后,认证这一块到底是使用传统的 session 还是使用像 JWT 这样的 token 来解决呢?这确实代表了两种不同的方向。传统的通过 session 来记录用户认证信息的方式我们可以理解为这是一种有状态登录,而 JWT 则代表了一种无状态登录。可能有小伙伴对这个概念还不太熟悉,我这里就先来科普一下有状态登录和无状态登录。无状态登录什么是有状态有状态服务,即服务端需要记录每次会话的客户端信息,原创 2020-05-26 10:22:04 · 2238 阅读 · 2 评论 -
Spring Security:表单登录
登录接口很多初学者分不清登录接口和登录页面,这个我也很郁闷。我还是在这里稍微说一下。登录页面就是你看到的浏览器展示出来的页面,像下面这个:登录接口则是提交登录数据的地方,就是登录页面里边的 form 表单的 action 属性对应的值。在 Spring Security 中,如果我们不做任何配置,默认的登录页面和登录接口的地址都是 /login,也就是说,默认会存在如下两个请求:GET http://localhost:8080/loginPOST http://localhost:8080原创 2020-05-25 14:22:26 · 1229 阅读 · 0 评论 -
Spring Security:初体验
当我们在一个项目中引入 Spring Security 相关依赖后,默认的就是表单登录,因此我们就从表单登录开始讲起。新建项目pom.xml引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> &原创 2020-05-25 10:56:38 · 498 阅读 · 0 评论 -
Spring Security:开篇
自从 Spring Boot、Spring Cloud 火起来之后,Spring Security 也跟着沾了一把光!原创 2020-05-25 09:39:08 · 262 阅读 · 0 评论