Я использую CSRF в своем коде в Spring-Security. xml. Я думаю, что проблемы связаны с CSRF. Весь код работает, но есть проблемы с логином. jsp и spring-security. xml. spring-security. xml выглядит так:
<http auto-config="true">
<intercept-url pattern="/list" access="ROLE_USER"/>
<intercept-url pattern="/security" access="isAnonymous()"/>
<form-login login-page="/security"
default-target-url="/list"
authentication-failure-url="/security?error"
username-parameter="username"
password-parameter="password"/>
<logout logout-success-url="/security?logout"/>
<csrf disabled="true"/>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="user" password="password" authorities="ROLE_USER"/>
</user-service>
</authentication-provider>
</authentication-manager>
мой LoginController выглядит так:
@Controller
public class LoginController {
@RequestMapping(value = "/security", method = RequestMethod.GET)
public String login(@RequestParam(value = "error", required = false) String error,
@RequestParam(value = "logout", required = false) String logout,
Model model) {
if (error != null) {
model.addAttribute("error", "Invalid username or password");
}
if (logout != null) {
model.addAttribute("msg", "You logout successfully");
}
return "login";
}
}
Это мой код при входе в систему. jsp:
<body onload='document.loginForm.username.focus();'>
<div id="login-box">
<h2>Insert Your Login and password:</h2>
<c:if test="${not empty error}">
<div class="error">${error}</div>
</c:if>
<c:if test="${not empty msg}">
<div class="msg">${msg}</div>
</c:if>
<form name='loginForm' action="<c:url value='/security'/>" method="post">
<table>
<tr>
<td>User:</td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td colspan="3">
<input name="submit" type="submit" value="submit"/>
</td>
</tr>
</table>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</form>
</div>
При открытии открывается страница
, но когда я захожу на главную страницу, такая ошибка вылетает, например
Что я должен исправить мой код?