免责声明:我的问题有点类似于这个问题和这个问题,但我已经尝试了这些帖子中建议的所有答案,并且已经花了几天时间来解决这个问题。
我在我现有的应用程序(JSP,仅限Servlet)中引入了Spring Security 3.2.6,并且我正在使用Java配置。我的应用程序将被浏览器和非浏览器客户端使用。我希望所有浏览器对网址的请求(即<代码>/网页/webVersion/和<代码>/网页/webVersion2/)都启用CSRF,所有其他请求都禁用CSRF。非浏览器客户端永远不会访问以上两个网址,而浏览器应用程序也可以访问CSRF禁用的网址。
我尝试了多种选择:
>
仅在上述URL上启用Spring Security性:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/","/resources/****").permitAll()
.antMatchers("/webpages/webVersion/****", "/webpages/webVersion2/****").authenticated()
.antMatchers("/webpages/****").permitAll()
.anyRequest().anonymous()
.and()
.formLogin().loginPage("/webpages/webVersion/login/newLogin.jsp").failureUrl("/webpages/webVersion/login/newLogin.jsp?error=true").loginProcessingUrl("/j_spring_security_check")
.usernameParameter("username").passwordParameter("password").defaultSuccessUrl("/webpages/webVersion/login/loginSuccess.jsp", true).permitAll()
.and()
.logout().logoutUrl("/webpages/webVersion/logout.jsp").permitAll()
.and().exceptionHandling().accessDeniedPage("/webpages/webVersion/404-error-page.jsp")
.and()
.csrf();
}
这不起作用,因为我观察到所有URL都启用了CSRF。
尝试使用CSRFprotected Matcher
:
.csrf().requireCsrfProtectionMatcher(csrfRequestMatcher);
CSRF仅对预期的URL启用,但即使是/resources/**
和/webpages/**
URL也需要在匹配功能中进行检查。考虑到它将适用于所有请求,似乎有点过分。
已尝试使用另一个版本的configure
方法:
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().regexMatchers(".*?/jsp/(?!webVersion|webVersion2).*?");
}
我不确定我做得是否正确,但这并没有产生我想要的结果。
上述哪种方法是正确的(Spring Security)方式来执行我想要的操作?如何从我的Spring Security配置中实现所需的行为?
事实证明,他们是我的配置中的一些错误,最后我使用方法3实现了目标...我使用了下面版本的配置函数以及通常的配置(HttpSecurity超文本传输协议)
函数...
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().regexMatchers(".*?/jsp/(?!webVersion|webVersion2).*?");
}
本文向大家介绍jQuery过滤选择器经典应用,包括了jQuery过滤选择器经典应用的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了经典的jQuery过滤选择器应用,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
我觉得我已经读了很多例子/文档,看了很多视频,但是我不能用带反冲的选择器。也许我只是今天过得不好,因为我觉得没那么难。 这就是我所处的位置。。。 假设我有这样的数据: 在我的索引中,我有: DataComponent类似于: 我希望这样,如果用户选择它只显示带有cat的数据,但如果未选择任何内容,也会显示所有数据。。。
问题内容: 我正在尝试根据子属性的值来过滤jmespath中对象的属性,并且只想包括那些将子属性设置为特定值的属性。 根据此示例数据: 我想要一个具有启用该功能的所有属性的对象。 我想我可以使用此jmespath查询来过滤设置为true 的对象。不幸的是,它似乎不起作用,而是返回一个空数组。 或只返回布尔值而没有任何上下文。 即使true 可行,也只是属性值的数组,但我也需要键(和)。有什么办法可
问题内容: 每当我在应用程序中搜索时,都会显示正确的结果,但是当我点击搜索的单元格时,在执行搜索之前,它始终会播放表格的第一个索引。我试图在我的didselectcell中使用isSearching Bool,但似乎无法正常工作。 问题答案: 我认为问题在于您正在跟踪自己是否在搜索和操作源数据数组。 我有一个示例游乐场代码段,我已将其用于其他一些答案,该示例向您展示了如何更有效地执行此操作,并提供
我有三张桌子表1、表2和表3。 表1与表2有一对多的关系。表2与表3有一对多的关系。 假设表1已经 我希望连接这三个表,以便只返回表3中t2key的第一个唯一匹配 join的结果应该是 目前,我的应用程序连接了所有三个表,返回所有可能的行。我需要用上述条件过滤掉这个。
问题内容: 我正在使用创建一个解决方案,而选择应该只包含另一个中不包含的选项。防爆 要通过另一个值进行过滤,我该怎么办? 问题答案: 劳拉(Laura)的上述答案在编写自定义filterOption函数时中断了过滤(如果您不希望Select可过滤,那么可能就可以了)。 一个更简单的解决方案是,对通过的应用仅应用一个简单的过滤器,而不是对第二个“选择”应用。 工作实例