Maison > Questions et réponses > le corps du texte
各位大神 请教个 spring security 问题
getAjax("../menu/loadmenu", "", function (data) {
这样会被拦截 因为 这个地址在数据库里面没有存
如果 在xml 里面配置了 <security:http pattern="/main/*" security="none"/>
是可以访问了 但是在controller 里面就获取不到当前登录用户的信息了
大家讲道理2017-04-18 09:05:49
Êtes-vous inquiet de savoir comment faire des requêtes ajax dans Spring Security ? Les requêtes ajax générales sont interdites dans Spring Security car le jeton csrf est nul lors de la demande. Le responsable propose une solution, reportez-vous au document officiel http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html
La méthode spécifique est
1. Ajoutez le code suivant dans la balise head de la page jsp :
<meta name="_csrf" content="${_csrf.token}"/>< br>< ;!-- le nom d'en-tête par défaut est X-CSRF-TOKEN -->
<meta name="_csrf_header" content="${_csrf.headerName}"/>
2. Ajoutez le code suivant avant la requête ajax :
var token = $("meta[name='_csrf']").attr("content");
var header = $(" meta [name='_csrf_header']").attr("content");
$(document).ajaxSend(function(e, xhr, options) {
xhr.setRequestHeader(en-tête, jeton);
});
De cette façon, les requêtes ajax peuvent être utilisées normalement.
Veuillez vous référer à mon blog http://jeesun.github.io/2016/03/27/Spring-Security%E5%A4%84%E7%90%86Ajax%E8%AF%B7%E6% B1% 82/