![](https://img-blog.csdnimg.cn/20200623215043447.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring Security
文章平均质量分 95
学习陈木鑫老师的图书《Spring Security》,一步一步走进Spring Security 的世界!
寒小韩_
哈哈!菜鸟小猿一枚~
展开
-
单点登录原理与简单实现
原文地址 https://www.cnblogs.com/ywlaker/p/6113927.html一、单系统登录机制1、http 无状态协议web 应用采用 browser/server 架构,http 作为通信协议。http 是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求 / 响应对之间没有任何联系但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴.转载 2021-05-16 19:17:20 · 105 阅读 · 0 评论 -
认识Autho2.0
什么是OAuth开放授权(Open Authorization,OAuth)是一种资源提供商用于授权第三方应用代表资源所有者获取有限访问权限的授权机制。是一个开放标准。由于在整个授权过程中,第三方应用都无须触及用户的密码就可以取得部分资源的使用权限,所以OAuth是安全开放的。由于OAuth1.0复杂的签名逻辑以及单一的授权流程存在较大缺陷,推出了OAuth2.0。OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0,即完全废止了OAuth1.0。OAuth2.0的运行流程要原创 2020-09-12 09:48:30 · 522 阅读 · 1 评论 -
Spring Security OAtho2.0实现GitHub 快捷登录
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-client</artifactId> </dependency> <dependency> <gr原创 2020-09-06 17:23:39 · 519 阅读 · 0 评论 -
(六)Spring Security 认证流程
认证流程图片来自于:黑马程序员SpringSecurity认证课程认证过程:用户提交用户名、密码被SecurityFilterChain中的UsernamePasswordAuthenticationFilter 过滤器获取到,封装为请求Authentication,通常情况下是UsernamePasswordAuthenticationToken这个实现类。然后过滤器将Authentication提交至认证管理器(AuthenticationManager)进行认证认证成功后, Authen原创 2020-09-03 19:56:48 · 441 阅读 · 0 评论 -
(五)Spring Security自定义过滤器
在Spring Security中自定义一个的过滤器,将其添加到Spring Security过滤器链的合适位置。定义一个自己的过滤器类继承Filter接口即可。但是在 Spring 体系中,推荐使用OncePerRequestFilter来实现,它可以确保一次请求只会通过一次该过滤器(Filter实际上并不能保证这一点)。public class MySecurityFilter extends OncePerRequestFilter { @Override protec原创 2020-09-02 19:24:11 · 5705 阅读 · 5 评论 -
(四)Spring Security注销登录
Spring Security支持在继承WebSecurityConfigurerAdapter的配置类中配置注销登录:HttpSecurity内的logout()方法以一个LogoutConfigurer作为配置基础,创建一个用于注销登录的过滤器:HttpSecurity:public LogoutConfigurer<HttpSecurity> logout() throws Exception { return (LogoutConfigurer)this.getOr原创 2020-09-01 19:41:51 · 227 阅读 · 0 评论 -
(三)Spring Security rememberMe实现自动登录
自动登录是将用户的登录信息保存在用户浏览器的cookie中,当用户下次访问时,自动实现校验并建立登录态的一种机制。Spring Security提供了两种非常好的令牌:散列算法加密用户必要的登录信息并生成令牌数据库等持久性数据存储机制用的持久化令牌散列加密方案在Spring Security中加入自动登录的功能非常简单: @Override protected void configure(HttpSecurity http) throws Exception {原创 2020-09-01 19:35:12 · 250 阅读 · 0 评论 -
(二)基于数据库的认证与授权
环境准备controller@RestController@RequestMapping("/api/admin")public class AdminController { @GetMapping("/hello") public String hello(){ return "hello! this is admin page"; }}/**----------------------分割线------------------------*/原创 2020-06-23 23:44:02 · 680 阅读 · 0 评论 -
(一)创建简单的Spring security 项目
参考:陈木鑫老师的《Spring Security 实战》创建spring boot项目通过Intellij IDEA创建Spring Boot项目的方式有许多种,其中最简单的方式就是使用Spring Initializr工具。Spring Initializr 允许我们提前选定一些常用的项目依赖,此处我们选择 Security 作为构建SpringSecurity项目的最小依赖,选择Web作为Spring Boot构建Web应用的核心依赖。Next :Next:创建项目的目录结构:原创 2020-06-22 00:00:02 · 318 阅读 · 0 评论