@EnableWebSecurity和@EnableWebMvcSecurity有什么区别?

@EnableWebSecurity

JavaDoc文档:

将此注释添加到@Configuration类中,以使Spring Securityconfiguration在任何WebSecurityConfigurer定义,或者更可能通过扩展WebSecurityConfigurerAdapter基类和重写单个方法。

@EnableWebMvcSecurity

JavaDoc文档:

将此注释添加到@Configuration类,以使Spring Securityconfiguration与Spring MVC集成。

  • 与Spring MVC集成 ”究竟意味着什么? 我能得到什么额外的行为?
  • 我find了指南和答案 ,这表明这个注释添加了CSRF TokensSpring MVC Forms,这是它​​增加的唯一的东西吗?

2 Solutions collect form web for “@EnableWebSecurity和@EnableWebMvcSecurity有什么区别?”

<div class="list-group-item list-group-item-action flex-column align-items-start">
<p> 如果您查看这些类, <code>@EnableWebMvcSecurity</code>实际上在<code>@EnableWebSecurity</code>中添加了<code>@EnableWebSecurity</code>注释。 因此, <code>@EnableWebMvcSecurity</code>执行<code>@EnableWebMvcSecurity</code>所做的一切, <code>@EnableWebSecurity</code>一点。 </p>

你还问什么?

如果您查看WebMvcSecurityConfiguration ,您将看到它添加了一个AuthenticationPrincipalArgumentResolver以便您可以通过向控制器方法参数添加批注来访问authentication主体。 即:

 public String show(@AuthenticationPrincipal CustomUser customUser) { // do something with CustomUser return "view"; } 

它还与Spring Web MVC集成,为表单添加一个CSRF令牌。

从Spring Security 4.0开始,不推荐使用@EnableWebMvcSecurity 。 replace是@EnableWebSecurity将决定添加基于类path的Spring MVCfunction。

为了使Spring Security与Spring MVC集成,将 @EnableWebSecurity 注释 添加 到您的configuration中。

<div class="navigation">
<div class="alignleft"></div>
<div class="alignright"></div>
</div>

原文地址:http://www.dovov.com/enablewebsecurityenablewebmvcsecurity.html

@ENABLEWEBSECURITY和@ENABLEWEBMVCSECURITY有什么区别?的更多相关文章

  1. SPRING IN ACTION 第4版笔记-第九章Securing web applications-001-SpringSecurity简介(DelegatingFilterProxy、AbstractSecurityWebApplicationInitializer、WebSecurityConfigurerAdapter、@EnableWebSecurity、@EnableWebMvcS)

    一.SpringSecurity的模块 At the least, you’ll want to include the Core and Configuration modules in your ...

  2. Spring和SpringBoot比较,解惑区别

    1.概述: 对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水,随着经验的积累.我慢慢理解了这两个框架到底有什么区别,我相信 ...

  3. springsecurity的http.permitall与web.ignoring的区别

    permitAll配置实例 @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { ...

  4. 阿里面试官:小伙子,给我说一下Spring 和 Spring Boot 的区别吧

    前言 对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累.我慢慢理解了这两个框架到底有什么区别,相信对 ...

  5. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

  6. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  7. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  8. 探究@property申明对象属性时copy与strong的区别

    一.问题来源 一直没有搞清楚NSString.NSArray.NSDictionary--属性描述关键字copy和strong的区别,看别人的项目中属性定义有的用copy,有的用strong.自己在开 ...

  9. X86和X86_64和X64有什么区别?

    x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为&qu ...

随机推荐

  1. 移动端的touch事件(一)

    如果我们允许用户在页面上用类似桌面浏览器鼠标手势的方式来控制WEB APP,这个页面上肯定是有很多可点击区域的,如果用户触摸到了那些可点击区域怎么办呢?? 诸如智能手机和平板电脑一类的移动设备通常会有 ...

  2. bzoj1179 Atm

    Description Input 第一行包含两个整数N.M.N表示路口的个数,M表示道路条数.接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口 ...

  3. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十七章:拾取

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十七章:拾取 代码工程地址: https://github.com/ ...

  4. 微服务开源生态报告 No.2

    通常,我们都会通过在 GitHub 上订阅邮件列表,来了解社区动态.这一次,我们联合以上各开源项目的负责人,发布「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源 ...

  5. Java中清空session的方法

    session.removeAttribute("sessionname")是清除SESSION里的某个属性. session.invalidate()是让SESSION失效. 或 ...

  6. 【批量添加】-拼接sql字符串 标签: 批量添加 2015-12-13 17:49 2070人阅读 评论(33)

    现在做的一个项目需要用到批量添加,但是封装的底层没有这个方法,所以自食其力,自己来写.我们用的是拼接sql字符串的方法来实现功能. 具体实现流程:首先将需要的数据存储到实体的list中,然后将这个li ...

  7. oracle函数 CHR(n1)

    [功能]:将ASCII 码转换为字符. [参数]:n1,为0 ~ 255,整数 [返回]:字符型 [示例] SQL> select chr(54740) zhao,chr(65) chr65 f ...

  8. Python基础:21包装

    “包装”在Python 编程中经常会被提到的一个术语.意思是对一个已存在的对象进行包装,可以是对一个已存在的对象,增加,删除,或者修改功能. 可以包装任何类型(type)作为一个类(class)的核心 ...

  9. nn.moduleList 和Sequential由来、用法和实例 —— 写网络模型

    对于cnn前馈神经网络如果前馈一次写一个forward函数会有些麻烦,在此就有两种简化方式,ModuleList和Sequential.其中Sequential是一个特殊的module,它包含几个子M ...

  10. Android Studio(十):添加assets目录

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...