84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
各位大神 请教个 spring security 问题 getAjax("../menu/loadmenu", "", function (data) { 这样会被拦截 因为 这个地址在数据库里面没有存 如果 在xml 里面配置了 <security:http pattern="/main/*" security="none"/> 是可以访问了 但是在controller 里面就获取不到当前登录用户的信息了
认证高级PHP讲师
你是烦恼在spring security中怎么进行ajax请求吧。一般的ajax请求在Spring Security中是被forbidden的,因为请求的时候csrf这个token为null。官方提供了一个解决办法,参考官方文档http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html
具体办法就是1、在jsp页面的head标签内添加如下代码:<meta name="_csrf" content="${_csrf.token}"/><!-- default header name is X-CSRF-TOKEN --><meta name="_csrf_header" content="${_csrf.headerName}"/>
2、在ajax请求前添加如下代码:var token = $("meta[name='_csrf']").attr("content");var header = $("meta[name='_csrf_header']").attr("content");$(document).ajaxSend(function(e, xhr, options) { xhr.setRequestHeader(header, token);});
这样就能正常使用ajax请求了。可参考我的这篇博客http://jeesun.github.io/2016/03/27/Spring-Security%E5%A4%84%E7%90%86Ajax%E8%AF%B7%E6%B1%82/
你是烦恼在spring security中怎么进行ajax请求吧。一般的ajax请求在Spring Security中是被forbidden的,因为请求的时候csrf这个token为null。官方提供了一个解决办法,参考官方文档http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html
具体办法就是
1、在jsp页面的head标签内添加如下代码:
<meta name="_csrf" content="${_csrf.token}"/>
<!-- default header name is X-CSRF-TOKEN -->
<meta name="_csrf_header" content="${_csrf.headerName}"/>
2、在ajax请求前添加如下代码:
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
$(document).ajaxSend(function(e, xhr, options) {
xhr.setRequestHeader(header, token);
});
这样就能正常使用ajax请求了。
可参考我的这篇博客http://jeesun.github.io/2016/03/27/Spring-Security%E5%A4%84%E7%90%86Ajax%E8%AF%B7%E6%B1%82/