我正在用 Spring 和 Tiles 做一个新的 webapp。到目前为止,我已经登录,创建/编辑用户工作。现在我必须从带有 json 的第三个应用程序的 Rest Controller 开始。我只需要在其余 URL 上禁用 csrf。我尝试使用 spring 中的 XML <csrf disabled="true"/>,它可以工作,但是对于整个应用程序,有没有办法通过路径进行此配置,或者唯一的方法是用 Java 写下来?:@Configuration@EnableWebSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable(); }}这对我不起作用,我发现的每个简单示例都是相同的,并且似乎对除我之外的所有人都有效,我做错了什么?弹簧安全配置:<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd"> <http auto-config="true"><!-- <csrf disabled="true"/> --> <intercept-url pattern="/" access="permitAll" /> <intercept-url pattern="/welcome" access="hasRole('ROLE_ADMIN')"/><!-- <intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY" access="ROLE_USER,ROLE_ADMIN"/> --> <intercept-url pattern="/administration/**" access="hasRole('ROLE_ADMIN')"/> <form-login login-page="/login" default-target-url="/" authentication-failure-url="/login?error" username-parameter="username" password-parameter="password" /> <logout logout-success-url="/login?logout" /> </http>
1 回答

一只斗牛犬
TA贡献1784条经验 获得超2个赞
将此添加到我的 xml 配置中并且工作正常:
<http pattern="/rest/**" security="none" />
然后<http... </http>
是标准应用程序的其他配置
添加回答
举报
0/150
提交
取消