是否可以为某种HTTP方法禁用Spring Security?
我们有一个Spring REST应用程序,其服务需要在HTTP请求的标头中附加授权令牌。我正在为此编写一个JShtml" target="_blank">客户端,并使用JQuery发送GET / POST请求。该应用程序使用此过滤器代码启用了CORS。
doFilter(....) {
HttpServletResponse httpResp = (HttpServletResponse) response;
httpResp.setHeader("Access-Control-Allow-Origin", "*");
httpResp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
httpResp.setHeader("Access-Control-Max-Age", "3600");
Enumeration<String> headersEnum = ((HttpServletRequest) request).getHeaders("Access-Control-Request-Headers");
StringBuilder headers = new StringBuilder();
String delim = "";
while (headersEnum.hasMoreElements()) {
headers.append(delim).append(headersEnum.nextElement());
delim = ", ";
}
httpResp.setHeader("Access-Control-Allow-Headers", headers.toString());
}
但是,当JQuery发送针对CORS的OPTIONS请求时,服务器将使用授权失败令牌进行响应。显然,OPTIONS请求缺少授权令牌。那么有可能让OPTIONS从Spring Security Configuration逃脱安全层吗?
你试过这个了吗
你可以使用多个元素为不同的URL集定义不同的访问要求,但是将按照列出的顺序评估它们,并且将使用第一个匹配项。因此,你必须将最具体的匹配项放在顶部。你还可以添加方法属性以将匹配限制为特定的HTTP方法(GET,POST,PUT等)。
<http auto-config="true">
<intercept-url pattern="/client/edit" access="isAuthenticated" method="GET" />
<intercept-url pattern="/client/edit" access="hasRole('EDITOR')" method="POST" />
</http>
以上意味着你需要选择要拦截的url模式以及所需的方法
行动时刻 - 禁用未使用的EAP方法 我们的组织决定支持两种隧道式EAP方法(PEAP和EAP-TTLS)。 我们将禁用其他方法并将默认EAP方法设置为PEAP: 编辑位于FreeRADIUS配置目录下的eap.conf文件。 通过完全注释掉它们来禁用以下方法:md5,leap,gtc和mschapv2。 更改default_eap_type指令: default_eap_type = md5 更
本文向大家介绍Java禁止使用finalize方法,包括了Java禁止使用finalize方法的使用技巧和注意事项,需要的朋友参考一下 什么是finalize方法 finalize()方法被定义在Java.lang.Object类中,意味着所有的类都可以重载这个方法。java垃圾回收器只之道释放那些经由new分配的内存,所以如果你的对象并非通过new获得的内存,那么垃圾回收器就不知道如何释放该对象
本文向大家介绍spring-boot 禁用swagger的方法,包括了spring-boot 禁用swagger的方法的使用技巧和注意事项,需要的朋友参考一下 在使用spring-boot开发的时候,我们很多时候会使用swagger作为api文档输出。可以在UI界面上看到api的路径,参数等等。 当然,作为开发环境是很方便的,但是上生产环境的时候,我们需要把swagger禁掉。怎么通过配置文件的方
在使用E立方管理平台时,有时会有E立方管理平台在EXCEL中没有显示的情况。这是由于EXCEL将E立方管理平台禁用造成的,需要在禁用项目中启用,就可以正常使用了。 下边分别介绍了 Excel2003、 Excel2007、 Excel2010及以上版本的启用方法 一、 Excel2003的启用方法 帮助-->关于,点击 禁用项目,如果有禁用项目,选中并启用,然后关闭Exce
在我的应用程序中,我有两个bean,它们的方法用注释注释。有时我需要调度两个方法,有时我需要根据应用程序的输入参数调度其中一个。加载@scheduled方法后,如何禁用它?我使用的是Spring3.1。
本文向大家介绍DevExpress实现禁用TreeListNode CheckBox的方法,包括了DevExpress实现禁用TreeListNode CheckBox的方法的使用技巧和注意事项,需要的朋友参考一下 很多时候在进行C#项目的实际开发中,会需要根据条件来设置节点不可勾选,查看DevExpress文档发现通过其CustomDrawNodeCheckBox和BeforeCheckNode