Я реализовал Spring-Security в своем WebApp, и когда я нажимаю кнопку LIKE, он отправляет запрос ajax на СЕРВЕР
(Мой URL: http:localhost:8080/myWebApp/likes/qs/10)
моя весенняя конфигурация безопасности для этого URL -
<http>
<!-- Admin access Only -->
<intercept-url pattern="/manage/**" access="hasAuthority('ADMIN')" />
<!-- FOR USER -->
<intercept-url pattern="/likes/**" access="hasAuthority('USER')" method="POST"/>
</http>
Когда URL-адрес изменяется в браузере (в первом случае), он перенаправляет пользователя на страницу входа. (работает отлично)
но в случае запроса ajax, URL-адрес ограничен для публикации на сервере, хотя он не перенаправляет на страницу входа, если пользователь не вошел в систему.
General
Request URL: http:localhost:8080/myWebApp/likes/qs/10
Request Method: POST
Status Code: 302
Remote Address: [::1]:8080
Referrer Policy: no-referrer-when-downgrade
Resonse Header
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Length: 0
Date: Thu, 20 Jun 2019 07:09:37 GMT
Expires: 0
Location: http://localhost:8080/eveprep/login
Pragma: no-cache
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Request Header
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Connection: keep-alive
Content-Length: 0
Cookie: JSESSIONID=54E50C4CE1E32BD2FFDA60B6AE2992B9
Host: localhost:8080
Origin: http://localhost:8080
Referer: http://localhost:8080/eveprep/show/subCategory/1/mcqs/1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36
X-CSRF-TOKEN: 08599de2-8fb5-41c6-83dc-a4d034933a42
X-Requested-With: XMLHttpRequest
js файл
$('body').on('click','.likebtn',function(event) {
var btn = $(this);
var likeBtnId = btn.prop('id');
var likeUrl = window.contextRoot+ '/likes/qs/'+ likeBtnId;
$.post(likeUrl,function(data) {
Swal.fire({
toast: true,
position: 'top-end',
type: 'success',
title: 'Unliked',
showConfirmButton: false,
timer: 1500
})
});
});