后端008_配置Security登录授权过滤器
------------恢复内容开始------------
现在我们就可以去进行springscurity的配置了。首先我们新建一个配置类。然后该类需要添加@Configuration注解,然后还要集成WebSecurityConfigurerAdapter这个类。
在这个类中我们先去注入userDetailsService这个对象,该对象本身就存在于WebSecurityConfigurerAdapter这个类中,然后我们加上@Override这个注解,去重写其中的方法。

这里我们需要重写 configure方法,在这个方法中调用userDetailsService和passwordEncoder。然后将自己写的2个方法传入进去。这样就可以使用自己写的方法。
这里的passwordEncoder使用的是BCryptPasswordEncoder密码解析器,该解析器是springcurity自带的密码解析器。

这样就相当于到时候,springcurity会走我们自己重写的userDetailservice,在里面有一个adminService.getAdminByUserName()。这样就可以获取用户名的信息,然后里面的密码匹配我们是通过passwordEncoder去完成的。
再下面就是springcurity完成的配置了,先找到入参是HttpSecurity的configure然后进行重写。
然后我们使用的是JWT,所有我们不需要使用csrf,我们可以将其进行关闭。
protected void configure(HttpSecurity http) throws Exception {
//使用JWT,不需要使用csrf
http.csrf()
.disable()
}
因为使用了token,也不需要session,所以进行相应的配置
//基于token,不需要session
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
配置完之后,使用.and(),方法进行连接。继续往下配。
现在配置,无需token就可以访问的接口,login和loginout。除了这2个接口之外,其他的任何接口都需要进行token认证
.and()
.authorizeRequests()
//允许登录访问
.antMatchers("/login", "loginout")
.permitAll()
//除了上面的请求,其他的所有请求都要认证
.anyRequest()
.authenticated()
继续配,这里我们的缓存也用不到。
.and()
//禁用缓存
.headers()
.cacheControl();

添加jwt授权登录授权过滤器
以及添加自定义的未授权或未登录的结果返回。

然后,我们需要新建一个登录过滤器。在configsecurity下新建一个JwtAuthencationTokenFilter。

------------恢复内容结束------------
后端008_配置Security登录授权过滤器的更多相关文章
- Spring Security OAuth2.0认证授权六:前后端分离下的登录授权
历史文章 Spring Security OAuth2.0认证授权一:框架搭建和认证测试 Spring Security OAuth2.0认证授权二:搭建资源服务 Spring Security OA ...
- 微服务下前后端分离的统一认证授权服务,基于Spring Security OAuth2 + Spring Cloud Gateway实现单点登录
1. 整体架构 在这种结构中,网关就是一个资源服务器,它负责统一授权(鉴权).路由转发.保护下游微服务. 后端微服务应用完全不用考虑权限问题,也不需要引入spring security依赖,就正常的 ...
- 实战!spring Boot security+JWT 前后端分离架构认证登录!
大家好,我是不才陈某~ 认证.授权是实战项目中必不可少的部分,而Spring Security则将作为首选安全组件,因此陈某新开了 <Spring Security 进阶> 这个专栏,写一 ...
- spring security 登录、权限管理配置
登录流程 1)容器启动(MySecurityMetadataSource:loadResourceDefine加载系统资源与权限列表) 2)用户发出请求 3)过滤器拦截(MySecurityFil ...
- MVC 自定义过滤器/特性来实现登录授权及验证
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 最近在做自学MVC,遇到的问题很多,索性一点点总结 ...
- Spring Security 学习笔记-登录认证过滤器
UsernamePasswordAuthenticationFilter用户登录验证过滤器,它继承自AbstractAuthenticationProcessingFilter. 登录处理url默认使 ...
- Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...
- Spring Security 登录校验 源码解析
传统情况下,在过滤器中做权限验证,Spring Secuirty也是在Filter中进行权限验证. 创建并注册过滤器 package com.awizdata.edubank.config; impo ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-12基于cookie登录授权认证并实现前台会员、后台管理员同时登录
1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...
- ASP.NET Web API 2 使用 AuthorizationFilter(授权过滤器)实现 Basic 认证
Ø 前言 在 Web 项目中授权认证方式有很多种,本文主要讲述基于 Basic 的认证方式.这是一种比较简单.常见的认证方式,主要是将请求的用户名和密码进行加密后返回给调用方,比较适合采用用户名.密 ...
随机推荐
- HttpWebResponse 四种accept-encoding解析(gzip, deflate, br,identity)
HttpWebResponse 四种accept-encoding解析(gzip, deflate, br,identity[默认]) var hwrs = (HttpWebRe ...
- Linux安装两个anaconda
安装过程 1.安装第一个Anaconda Anaconda的官方安装网址在 https://www.continuum.io/downloads/ 安装命令: bash Anaconda3-4.3.1 ...
- IDEA2022 搭建SpringMVC
https://blog.csdn.net/LiuNengJing/article/details/125888494
- ES6 - 参数默认值
1.形参初始值, 具有默认值的参数,一般位置要靠后(潜规则) function add(a,b,c=10){ return a + b + c; } let resutl = add(1,2); // ...
- 【北邮人论坛帖子备份】【FAQ】给今年国企求职学弟学妹的一点建议
目录 主要内容 补充--[心得][校招]面向国企秋招的一些体会 补充--[心得]回馈论坛,某toca的小弟金融类央企秋招过程中的一点点 主要内容 时间:Fri Feb 19 23:00:33 2021 ...
- 记录 windows RabbitMq 安装教程
安装地址:https://www.rabbitmq.com/ RabbitMq 官网下载如下两个exe文件,otp_win64_22.0.exe 文件是rabbitmq的运行环境,必须安装!!! 傻子 ...
- Count Triplets That Can Form Two Arrays of Equal XOR
Count Triplets That Can Form Two Arrays of Equal XOR 题意 给定一个数组,求多少个三元对\((i,j,k)\)满足\(S(i,j-1)=S(j,k) ...
- http和https有什么区别?网站有没有必要启用https
最近在浏览文章的时候发现,很多站长都在纠结网站到底要不要做https的问题.作为个人站长,也一直关注着这块.最近查阅了很多资料,对https也有了更进一步的认识,这里对https的有关问题做了一个总结 ...
- shell语法1-概论、注释、变量、字符串
如果感觉有点忘了或者有点懵,敲出来测试测试就好了 一:概论 Linux系统中一般默认使用bash,文件开头需要写#! /bin/bash,指明bash为脚本解释器chmod +x filename:使 ...
- 解决eclipse创建动态Web项目没有Web->Dynamic Web Project问题
有时候在eclipse新建Dynamic Web Project,File->New->Other->Web并没有发现Dynamic Web Project选项如下图:(那也不要慌解 ...