后端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 的认证方式.这是一种比较简单.常见的认证方式,主要是将请求的用户名和密码进行加密后返回给调用方,比较适合采用用户名.密 ...
随机推荐
- 统计包含关键字的 Key 的数量
- java中对list集合进行分组
java中对list集合进行分组 Map<String, List<HealthImport>> excelIdCardNull = importList.stream() . ...
- vue子组件为父组件属性写值
父组件调用子组件代码(关键字sync): <importModel :visible.sync="dialogModelVisible"></importMode ...
- centos-7实现批量ping
批量ping 脚本 新接手了一个项目,10多个网段,500多机器,看自己机器可以连上多少服务器,一个个ping不符合我们的作风,因此百度了下大神的脚本,按自己的风格修改了,于是有了如下的脚本. 脚本如 ...
- Mysql Dao
1 package dao; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sq ...
- 网络服务之DHCP与FTP
目录 DHCP 一.DHCP是什么? 二.DHCP的优点 三.DHCP的分配过程 四.DHCP的工作原理 五.DHCP动态获取实验 FTP 一.FTP是什么? 二.FTP的数据连接模式 三.svftp ...
- noi 1.1 5 输出保留12位小数的浮点数
描述 读入一个双精度浮点数,保留12位小数,输出这个浮点数. 输入 只有一行,一个双精度浮点数. 输出 也只有一行,保留12位小数的浮点数. 样例输入 3.1415926535798932 样例输出 ...
- c++11 智能指针学习汇总
c++为什么要引入智能指针? C/C++ 语言最为人所诟病的特性之一就是存在内存泄露问题,因此后来的大多数语言都提供了内置内存分配与释放功能,有的甚至干脆对语言的使用者屏蔽了内存指针这一概念.这里不置 ...
- 解决方案-Jmeter在CLI模式下无法生成html报告文件
出错场景: 在CLI模式下运行jmeter,将 jtl 结果转为 html 报告时,提示An error occurred: Data exporter "html" is una ...
- Nginx 监听同一端口号配置多个域名
同一台nginx服务器通过配置多个server块实现在同一端口号下监听多个域名. 需要注意的是:端口号(listen)+主机名(server_name) 需要在多个server中唯一,否则会报错. 实 ...