protected void configure(HttpSecurity http) throws Exception {
RequestMatcher csrfRequestMatcher = new RequestMatcher() {
private AntPathRequestMatcher[] requestMatchers = {
new AntPathRequestMatcher("/iams/w/*")
};
@Override
public boolean matches(HttpServletRequest request) {
for (AntPathRequestMatcher rm : requestMatchers) {
if (rm.matches(request)) { return true; }
}
return false;
} // method matches
};
http
.csrf()
.requireCsrfProtectionMatcher(csrfRequestMatcher)
.and()
.authorizeRequests()
.anyRequest().authenticated()
.and()
.requestCache()
.requestCache(new NullRequestCache())
.and()
.httpBasic();
}
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers(
"/myapp/docs/**",
"/myapp/docs/*",
"/myapp/docs/index.html",
"/resources/**",
"/static/**");
}
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled=true)公共类SecurityConfig扩展了WebSecurityConfigurerAdapter{
我错过了什么?请指教。
您的代码中有一个错误顺序。
http
.csrf()
.requireCsrfProtectionMatcher(csrfRequestMatcher)
.and()
.authorizeRequests()
.anyRequest().authenticated()
.and()
.requestCache()
.requestCache(new NullRequestCache())
.and()
.httpBasic();
因此,需要对任何请求进行身份验证。您可以直接使用antmatchers
。
http
.authorizeRequests()
.antMatchers("/iams/w/*")
.authenticated()
.and()
.httpBasic()
.and()
.requestCache()
.requestCache(new NullRequestCache())
.csrf().disable()
希望对你有帮助。
这个问题看起来可能重复,但以下答案都没有解释何时使用: 和 HttpSecurity、WebSecurity和AuthenticationManagerBuilder Spring Security中Web忽略和Http允许的区别 通过阅读StackOverflow asnwers和几篇文章,我了解到: configure(HttpSecurity)允许在资源级别配置基于web的安全性。 conf
我正在尝试比较自定义对象的列表。我设置了LEVENSHTEIN_DISTANCE并创建了自定义比较器。对象之间唯一的区别是列表中值的顺序。我希望“没有变化”,但我得到了listchange。结果和示例如下。我做错了什么? 非常感谢和问候,安德烈
我在Spring 4 MVC Security Boot项目中设置了一个自定义身份验证过滤器。过滤器工作正常,现在我想禁用某些URI的安全性(如)。这是我的配置: 不幸的是,当我在下调用资源时,过滤器仍然是链接的。我在过滤器中添加了,并且每次调用都会将其写入控制台。你知道我的配置有什么问题吗? 更新 过滤代码:
问题内容: 我正在开发一个使用Spring-boot,关系数据库和Elasticsearch的应用程序。 我在代码的2个不同位置使用JSON序列化: 在REST API的响应中。 当代码与Elasticsearch交互时。 我在Elasticsearch中需要一些属性,但我想向应用程序用户隐藏(例如,来自关系数据库的内部ID)。 这是一个实体的例子: 问题 :当对象持久化在Elasticsearc
这是我的东西 当我得到响应时,我看到 我的看起来像 问题 如何消除中的值?
问题内容: 我在Spring 4 MVC + Security + Boot项目中设置了一个自定义身份验证过滤器。过滤器可以很好地完成工作,现在我想禁用某些URI(例如)的安全性。这是我的配置 不幸的是,当我在/ api / …下调用resource时,过滤器仍然被链接。我在过滤器中添加了println,并在每次调用时将其写入控制台。你知道我的配置有什么问题吗? 更新 过滤器代码: 问题答案: 删