zl程序教程

您现在的位置是:首页 >  其它

当前栏目

@ENABLEWEBSECURITY和@ENABLEWEBMVCSECURITY有什么区别?

什么 区别
2023-09-27 14:24:46 时间

@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