后端代码不再赘述,按照Spring Security官方开发文档编码即可。
前端采用freemarker模板。本文重点为freemarker的配置,以及登陆js文件的配置。
step1:在login.ftl的header中加入如下代码:
<!--spring Security的验证token与header-->
<header>
<meta name="_csrf" content="${(_csrf.token)!''}"/>
<meta name="_csrf_header" content="${(_csrf.headerName)!''}"/>
</header>
step2:在login.js中加入如下代码:
//spring security 验证
$(function () {
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);
});
});
step3:AJAX请求对应url,正常操作即可。
$('#loginBtn').click(function () {
var user = $('#user').val();
var password = $('#password').val();
$.ajax({
url: "/login/show?username=" + user + "&password=" + password,
type: "post",
contentType: 'application/json;charset=utf-8',
success: function (data) {
window.location.href="/welcome";
},
error: function (data) {
}
})
})