------------恢复内容开始------------

现在我们就可以去进行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登录授权过滤器的更多相关文章

  1. Spring Security OAuth2.0认证授权六:前后端分离下的登录授权

    历史文章 Spring Security OAuth2.0认证授权一:框架搭建和认证测试 Spring Security OAuth2.0认证授权二:搭建资源服务 Spring Security OA ...

  2. 微服务下前后端分离的统一认证授权服务,基于Spring Security OAuth2 + Spring Cloud Gateway实现单点登录

    1.  整体架构 在这种结构中,网关就是一个资源服务器,它负责统一授权(鉴权).路由转发.保护下游微服务. 后端微服务应用完全不用考虑权限问题,也不需要引入spring security依赖,就正常的 ...

  3. 实战!spring Boot security+JWT 前后端分离架构认证登录!

    大家好,我是不才陈某~ 认证.授权是实战项目中必不可少的部分,而Spring Security则将作为首选安全组件,因此陈某新开了 <Spring Security 进阶> 这个专栏,写一 ...

  4. spring security 登录、权限管理配置

    登录流程 1)容器启动(MySecurityMetadataSource:loadResourceDefine加载系统资源与权限列表)  2)用户发出请求  3)过滤器拦截(MySecurityFil ...

  5. MVC 自定义过滤器/特性来实现登录授权及验证

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    最近在做自学MVC,遇到的问题很多,索性一点点总结 ...

  6. Spring Security 学习笔记-登录认证过滤器

    UsernamePasswordAuthenticationFilter用户登录验证过滤器,它继承自AbstractAuthenticationProcessingFilter. 登录处理url默认使 ...

  7. Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  8. Spring Security 登录校验 源码解析

    传统情况下,在过滤器中做权限验证,Spring Secuirty也是在Filter中进行权限验证. 创建并注册过滤器 package com.awizdata.edubank.config; impo ...

  9. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-12基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  10. ASP.NET Web API 2 使用 AuthorizationFilter(授权过滤器)实现 Basic 认证

    Ø  前言 在 Web 项目中授权认证方式有很多种,本文主要讲述基于 Basic 的认证方式.这是一种比较简单.常见的认证方式,主要是将请求的用户名和密码进行加密后返回给调用方,比较适合采用用户名.密 ...

随机推荐

  1. 5.docker安装redis

    下载redis镜像 不讲那么细了,可以参考docker安装mysql的介绍 docker pull redis 不加冒号和版本表示下载最新版本的 镜像下载完后可以数据 docker images 命令 ...

  2. 在Ubuntu19.04系统中安装Emacs遇到的问题

    安装显示部分依赖软件包现在无法安装 发现emacs26无法安装 后来查阅资料,发现在Ubuntu18版本及以上就不需要更新了 即不需要以下操作: sudo apt update 同时安装也需要将ema ...

  3. drf从入门到飞升仙界 06

    模型类准备 from django.db import models # 图书跟作者:多对多,需要建立中间表,但是我们可以通过ManyToManyField自动生成,写在哪里都行 # 图书跟出版社:一 ...

  4. vue编辑修改,点击取消操作时,table内的内容不变

    1.父组件内  2.子组件内(使用JSON.parse(JSON.stringify(xxx值)))  进行深拷贝

  5. Python中变量和对象的关系

    变量和对象 Python中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是对象.而变量是对象的一个引用(也可以称为标签或者名字),对象的操作都是通过引用来完成的. 例如,[]是一个空列 ...

  6. Dockerfile参考

    From openjdk:8u252-jdkENV MEMORY_SIZE {{ MEMORY_SIZE | default (1024) }}MENV PROJECT_NAME {{PROJECT_ ...

  7. mongoDB日常操作02

    db.TABLE_NAME.find({<query>})//普通查询db.TABLE_NAME.find({<query>},{'_id':0,'f1':1,'f2':1}) ...

  8. 转L:[JAVA基础] 成员变量和局部变量(一看就懂的总结归纳篇)

    [JAVA基础] 成员变量和局部变量(一看就懂的总结归纳篇) JVM--Java虚拟机详解

  9. 移动端唤起QQ聊天

    var u = navigator.userAgent; var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); if(isiOS){ if(u ...

  10. FFmpeg input与output 函数流程

    重要结构体 AVFormatContext AVCodecContextAVCodecAVPacketAVFrame 0.公共部分 av_register_all(); avfilter_regist ...