当前位置: 首页 > 知识库问答 >
问题:

仅使用Spring Security CSRF功能

曾飞沉
2023-03-14

我想只使用Spring Security的CSRF功能而不使用任何其他身份验证/授权功能,因为这些功能是由第三方提供商为我提供的。如果可以做到这一点,我如何告诉Spring不要寻找任何具有其依赖bean的身份验证管理器,只需拦截所有URL,并添加csrf令牌。

共有3个答案

夹谷成仁
2023-03-14

如果您打算只使用其CSRF保护,我个人会避免包括Spring Security过滤器链。如果没有正确的配置,最终会给应用程序增加不必要的逻辑负担。

Spring Security中的CSRF保护由org.springframework.security.web.csrf.CsrfFilterservlet Filter提供。

默认情况下,过滤器将预期的CSRF令牌存储在HttpSession上。

您可以很容易地实现类似的东西,或者尝试仅在servlet过滤器链/web中声明此过滤器。xml。

胡飞舟
2023-03-14

您可以尝试以下操作:

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .anyRequest().permitAll();
    }

CSRF按默认情况启用。您可以使用(例如在thymeleaf中):

<meta name="_csrf" value="dummy" th:value="${_csrf.token}" />
叶智
2023-03-14

通过进行以下更改/添加,我使CSRF功能正常工作。此外,我还使用了<代码>

罐子添加:

spring-security-acl-4.0.0.RC1.jar
spring-security-config-4.0.0.RC1.jar
spring-security-core-4.0.0.RC1.jar
spring-security-taglibs-4.0.0.RC1.jar
spring-security-web-4.0.0.RC1.jar

网状物xml添加:

<filter>
  <filter-name>springSecurityFilterChain</filter-name>
  <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

<filter-mapping>
  <filter-name>springSecurityFilterChain</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

新增java文件:

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class TgtWebSecurityConfigureAdapter extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .anyRequest().permitAll();
    }
}

Marco-仅使用CSRF滤波器无法工作。

 类似资料:
  • 1. 分析报告 怎么理解当日留存? 当日留存是指在当天满足了初始条件后,后续行为又满足了留存条件的用户数或访问次数。例如,当初始条件与留存条件均为用户有访问行为时,当日留存可以理解为:当日至少有个两次访问行为的用户情况。 怎么查看周留存和月留存? 在留存分析报告界面切换右上角留存粒度控件,可选日留存、周留存和月留存进行查看。 为什么漏斗分析中事件次数与事件分析不一致? 首先,您可以查看右上角的采样

  • 可视化圈选怎么判断连接手势是否触发 Q:可视化圈选怎么判断连接手势是否触发? A:打开app之后,如果您的App有启动广告页,则等待广告页过去之后,使用双指同时touch按住屏幕3s,看到界面中出现设备型号选项,即说明成功触发连接操作。 您还可以查看Xcode窗口输出的log日志,查看连接的返回结果 百度移动统计如何导出数据报表? Q:百度移动统计如何导出数据报表? A:在各报表页,点击“导出CS

  • 说明 这里仅做最简单使用方法的说明,个性化设置请查阅进阶开发。 所有平台的授权登录调用方法都是一样的,唯一不同的是实例化的类!如果有个性化的参数需要传,采用类属性赋值的方式传递,详见文档。 实例化 $qqOAuth = new \Yurun\OAuthLogin\QQ\OAuth2('appid', 'appkey', 'callbackUrl'); 把上面3个参数替换成你的即可。 Swoole

  • 1. 分析报告 怎么理解当日留存? 当日留存是指在当天满足了初始条件后,后续行为又满足了留存条件的用户数或访问次数。例如,当初始条件与留存条件均为用户有访问行为时,当日留存可以理解为:当日至少有个两次访问行为的用户情况。 怎么查看周留存和月留存? 在留存分析报告界面切换右上角留存粒度控件,可选日留存、周留存和月留存进行查看。 为什么漏斗分析中事件次数与事件分析不一致? 首先,您可以查看右上角的采样

  • 我有在android版本4.4.3中工作的代码,但在4.4.2中不行,我需要它在使用4.4.2时重定向到某个页面,但我似乎无法找到只针对特定版本号重定向的方法。下面的代码在设备使用KitKat时重定向,但我需要对它进行编辑,以便不使用Version_Codes.KitKat.,它将是类似Version_Codes的东西。这可能吗?如果是,正确的语法是什么。 事先谢谢你的帮助

  • 问题内容: 我已经看到许多特定的案例,人们在询问,人们在解释两者之间的区别,但我似乎也不能理解一般的区别。这两个是同义词吗?一个暗示另一个吗? 问题答案: 这两个是同义词吗? 号说:“嘿,Android(及相关的发行渠道),请让用户允许我做X”。说:“嘿,Android(及相关的发行渠道),我有兴趣在具有Y功能的硬件上运行”。 如果硬件不符合您的要求,但用户不参与,则可能会将您从Play商店(和其