springsecurity中http.permitall与web.ignoring的区别说明
目录
- springsecurity http.permitAll与web.ignoring的区别
- web.ignoring()与permitAll
- 总结
springsecurity http.permitAll与web.ignoring的区别
- 这两个都是继承WebSecurityConfigurerAdapter后重写的方法
- http.permitAll不会绕开springsecurity验证,相当于是允许该路径通过
- web.ignoring是直接绕开spring security的所有filter,直接跳过验证
web.ignoring()与permitAll
AnonymousAuthenticationFilter,创建认证信息的地方,默认是被认证的,那么后面就不需要进行鉴权操作了
总结
web ignore比较适合配置前端相关的静态资源,它是完全绕过spring security的所有filter的;
permitAll,会给没有登录的用户适配一个AnonymousAuthenticationToken,设置到SecurityContextHolder,方便后面的filter可以统一处理authentication
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
详解Spring Security的formLogin登录认证模式
一.formLogin的应用场景 在本专栏之前的文章中,已经给大家介绍过Spring Security的HttpBasic模式,该模式比较简单,只是进行了通过携带Http的Header进行简单的登录验证,而且没有定制的登录页面,所以使用场景比较窄. 对于一个完整的应用系统,与登录验证相关的页面都是高度定制化的,非常美观而且提供多种登录方式.这就需要Spring Security支持我们自己定制登录页面,也就是本文给大家介绍的formLogin模式登录认证模式. 准备工作 新建一个Spring B
-
解析spring-security权限控制和校验的问题
前言 在我们项目中经常会涉及到权限管理,特别是一些企业级后台应用中,那权限管理是必不可少的.这个时候就涉及到技术选型的问题.在我以前项目中也没用到什么权限框架,就全部到一个spring mvc拦截器中去校验权限,当然,对需求比较少,小型的项目这也不失一个好的实现(实现简单,功能单一),但是对于一些比较大的应用,权限认证,session管理要求比较高的项目,如果再使用mvc拦截器,那就得不偿失了(需要自己去实现很多的代码). 现在比较流行的权限校验框架有spring-securit
-
SpringBoot+SpringSecurity处理Ajax登录请求问题(推荐)
最近在项目中遇到了这样一个问题:前后端分离,前端用Vue来做,所有的数据请求都使用vue-resource,没有使用表单,因此数据交互都是使用JSON,后台使用Spring Boot,权限验证使用了Spring Security,因为之前用Spring Security都是处理页面的,这次单纯处理Ajax请求,因此记录下遇到的一些问题.这里的解决方案不仅适用于Ajax请求,也可以解决移动端请求验证. 创建工程 首先我们需要创建一个Spring Boot工程,创建时需要引入Web.Spring S
-
SpringBoot+SpringSecurity 不拦截静态资源的实现
一.问题描述 在 SpringBoot 中加入 SpringSecurity 中之后,静态资源总是被过滤,导致界面很难看: 目录结构: 二.问题解决 正常不拦截资源,我查阅资料,基本都是重新 config 方法即可: package org.yolo.securitylogin.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conf
-
springsecurity中http.permitall与web.ignoring的区别说明
目录 springsecurity http.permitAll与web.ignoring的区别 web.ignoring()与permitAll 总结 springsecurity http.permitAll与web.ignoring的区别 这两个都是继承WebSecurityConfigurerAdapter后重写的方法 http.permitAll不会绕开springsecurity验证,相当于是允许该路径通过 web.ignoring是直接绕开spring security的所有fil
-
详解SpringSecurity中的Authentication信息与登录流程
Authentication 使用SpringSecurity可以在任何地方注入Authentication进而获取到当前登录的用户信息,可谓十分强大. 在Authenticaiton的继承体系中,实现类UsernamePasswordAuthenticationToken 算是比较常见的一个了,在这个类中存在两个属性:principal和credentials,其实分别代表着用户和密码.[当然其他的属性存在于其父类中,如authorities和details.] 我们需要对这个对象有一个基本地
-
JQuery中ajax方法访问web服务实例
本文实例讲述了JQuery中ajax方法访问web服务.分享给大家供大家参考.具体分析如下: 说明: ArrayList 中 存为对象CollegeDepartInfo 其属性为:stirng CollegeDepartTitle 和 int CollegeDepartId 在javascript中 ddlDepart.options[ddlDepart.length]=new Option(n.CollegeDepartTitle,n.CollegeDepartId); Option的参数就是
-
基于JAVA文件中获取路径及WEB应用程序获取路径的方法
1. 基本概念的理解 `绝对路径`:你应用上的文件或目录在硬盘上真正的路径,如:URL.物理路径 例如: c:/xyz/test.txt代表了test.txt文件的绝对路径: http://www.sun.com/index.htm也代表了一个URL绝对路径: `相对路径`:相对与某个基准目录的路径,包含Web的相对路径(HTML中的相对目录). 例如: 在Servlet中,"/"代表Web应用的根目录,和物理路径的相对表示. 例如: "./"代表当前目录,&quo
-
从Myeclipse 导入到eclipse中无法识别为 web项目 问题的解决步骤
经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就 是一个java项目,有过很多次经历,今天也有同事遇到类似问题,就把这个解决方法记下来吧,免得以后再到处去搜索. 解决步骤: 1.进入项目目录,可看到.project文件,打开. 2.找到<natures>...</natures>代码段. 3.在第2步的代码段中加入如下标签内容并保存: <nature>org.eclipse.wst.common.project.facet.core.natur
-
SpringBoot中的响应式web应用详解
简介 在Spring 5中,Spring MVC引入了webFlux的概念,webFlux的底层是基于reactor-netty来的,而reactor-netty又使用了Reactor库. 本文将会介绍在Spring Boot中reactive在WebFlux中的使用. Reactive in Spring 前面我们讲到了,webFlux的基础是Reactor. 于是Spring Boot其实拥有了两套不同的web框架,第一套框架是基于传统的Servlet API和Spring MVC,第二套是
-
JS中type="button"和type="submit"的区别
Submit是专门用于提交表单的Button,与Button的区别主要有两点: type=button 就单纯是按钮功能 type=submit 是发送表单 (1)Submit将表单提交(form.submit())作为其onclick后的默认事件,Button并非如此 (2)表单提交时,所有具有name属性的html输入元素(包括input标签.button标签.select标签等)都将作为键值对提交,除了Submit对象.Submit对象只有在自己被单击后的提交中才会作为键值对被提交. 但是
-
详谈vue中router-link和传统a链接的区别
Vue-router是伴随着Vue框架出现的路由系统,它也是公认的一种优秀的路由解决方案.在使用Vue-router时候,我们常常会使用其自带的路径跳转组件Link,通过实现跳转,这和传统的何其相似!但它们到底有什么具体的区别呢? 官方中给出的解释是这样的: <router-link> 比起写死的 <a href="..." rel="external nofollow" rel="external nofollow" >
-
Spring中BeanFactory和ApplicationContext的作用和区别(推荐)
作用: 1.BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期.2.ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能: a. 国际化支持 b. 资源访问:Resource rs = ctx. getResource("classpath:config.properties"), "file:c:/config.properties&qu
-
JavaScript中Object、map、weakmap的区别分析
前言 ECMAScript 6以前,在JavaScript中实现"键/值"式存储可以使用Object来方便高效地完成,也就是使用对象属性作为键,再使用属性来引用值.但这种实现并非没有问题,为此TC39委员会专门为"键/值"存储定义了一个规范.作为ECMAScript 6的新增特性,Map是一种新的集合类型,为这门语言带来了真正的键/值存储机制.Map的大多数特性都可以通过Object类型实现,但二者之间还是存在一些细微的差异.具体实践中使用哪一个,还是值得细细甄别.
随机推荐
- Python闭包实现计数器的方法
- Python多层嵌套list的递归处理方法(推荐)
- 浅析C/C++中sort函数的用法
- 一个方法搞定iOS下拉放大及上推缩小
- crawler4j抓取页面使用jsoup解析html时的解决方法
- javascript基于prototype实现类似OOP继承的方法
- 正则表达式其实就是一个特殊的字符串
- 让iframe自适应高度(支持XHTML,支持FF)
- 深入解析Linux下MySQL数据库的备份与还原
- 关于ajax网络请求的封装实例
- 几种防止表单重复提交的方法
- JDBC 入门(一)
- RHEL 6平台MySQL数据库服务器的安装方法
- jQuery可见性过滤选择器用法示例
- 关于vi和vim的区别及命令详解
- sql convert函数使用小结
- js综合应用实例简单的表格统计
- 提升Wind XP系统运行速度绝招
- C#中while循环语句用法实例详解
- android 应用内部悬浮可拖动按钮简单实现代码