<http>
<intercept-url pattern="/**/verify" requires-channel="https"/>
<intercept-url pattern="/**/login*" requires-channel="http"/>
...
...
<csrf />
</http>
@Configuration
@EnableWebSecurity
public class MySecurityConfig extends WebSecurityConfigurerAdapter {
private CsrfMatcher csrfRequestMatcher = new CsrfMatcher();
@Override
public void configure(HttpSecurity http) throws Exception {
http.csrf().requireCsrfProtectionMatcher(csrfRequestMatcher);
}
class CsrfMatcher implements RequestMatcher {
@Override
public boolean matches(HttpServletRequest request) {
if (request.getRequestURL().indexOf("verify") != -1)
return false;
else if (request.getRequestURL().indexOf("homePage") != -1)
return false;
return true;
}
}
}
Csrf筛选器验证从“验证”提交的Csrf令牌,当我从HTTP向https提交请求时,抛出无效令牌异常(403)。如何在这种情况下禁用csrf令牌身份验证?
我知道这不是一个直接的答案,但人们(就像我一样)在搜索这类问题时通常不会指定Spring的版本。因此,由于spring security存在一种可以忽略某些路由的方法:
以下内容将确保忽略CSRF保护:
http .csrf() .ignoringAntMatchers("/sockjs/**") .and() ...
我的控制器是 我对Spring完全陌生,请帮帮我怎么做?
由于我有,我的应用程序将提示所有URL的证书,那么对于一些特定的URL(如或)我是否可以绕过URL?
问题内容: 我正在使用无状态Spring Security,但是如果要注册,我想禁用Spring Security。我禁用了 但它不起作用,我在下面收到错误消息: 我认为这意味着弹簧安全过滤器正在工作 我的网址顺序始终为“ / api / v1” 我的spring配置是 我的身份验证过滤器是 我的控制器是 我怎么做? 问题答案: 使用它意味着每个经过身份验证的用户,但是你禁用了匿名访问,因此将无法
问题内容: 最近,存在一个问题,即如何在特定终端的Python Flask中禁用日志记录(跳过一个终端的Flask日志记录?)。 例如,这对于您不希望使日志混乱的情况是有道理的。 我为Flask解决了这个问题,但是当使用Gunicorn运行Flask时,我的解决方案不再起作用。 如何使用Gunicorn实现此目的?我想要常规的日志记录行为,但是没有端点的任何日志。 问题答案: 我想通了-您需要重写
问题内容: 我正在使用.ajaxStart()和.ajaxStop()在提出ajax请求时显示模式。(在开始和停止之间) 现在,我想添加一个longpoll函数,该函数一直等待通知,类似于本网站左上角的通知。 我的问题现在在于仅针对longpolling请求禁用此模式。 在处理程序上注册“加载屏幕”: 我的longpoll函数: 我试过了: ..并在开始轮询后重新连接处理程序,但没有任何乐趣。 我
我将Spring security用于包含一组Restful服务的Spring启动应用程序。我已经通过基本身份验证启用了网络安全。我希望启用基本的身份验证,除了以特定模式结尾的特定API URL。(例如,healthcheck API,如:/application/_healthcheck) 代码如下所示: 然而,每当我调用/应用程序/_HealthCheckURL,浏览器总是提示我输入凭据。 或