Я новичок в Весна безопасности, так что я пытаюсь использовать Spring MVC для обработки неверный логин, но в итоге с Страница не найдена 404Весна безопасности недействителен обработки
В моей безопасности-context.xml, у меня есть Войти этот AuthenticationProvider
обрабатывает все аутентификационные данные, поэтому просто проверяйте учетную запись пользователя и пароль, но по некоторым причинам он говорит, что authentication-failure-url
не найден 404 всякий раз, когда есть некорректная попытка входа в систему.
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider ref="AuthenticationProvider"/>
</security:authentication-manager>
<bean id="preAuthenticationFilter"
class="authentication.PreAuthenticationFilter"
p:authenticationManager-ref="authenticationManager" />
<security:http auto-config="true">
<security:intercept-url pattern="/member/**" access="MEMBER" requires-channel="https"/>
<security:form-login login-page="/login"
username-parameter="email"
password-parameter="password"
default-target-url="/member/"
authentication-failure-url="/loginfailed" />
<security:custom-filter position="PRE_AUTH_FILTER" ref="preAuthenticationFilter" />
</security:http>
Но у меня есть соответствующий контроллер, который прослушивает этот шаблон URL для обработки неверного входа.
@Controller
public class LoginController
{
@RequestMapping(value = "/loginfailed", method = RequestMethod.GET)
public String loginError(ModelMap model)
{
model.addAttribute("error", "true");
return "login";
}
}
** * *UPDATE* ** * *
В некоторых моментах моей AuthenticationProvider
проверяет пользователя и бросить исключение (я дон не знаю, если это имеет значение), когда у пользователя есть плохие удостоверения
@Component
public class AuthenticationProvider{
private User validateUser(String userName, String password)
{
try{
//authenticate user's info
.......
}
catch (UnauthorizedAccessException e)
{
throw new BadCredentialsException(e);
}
}
}
Does метод '= RequestMethod.GET' работает? – Xaerxess
Нет ... Я пробовал как GET, так и POST – peter
Мне кажется, что это не проблема Spring Security, а скорее конфигурация MVC - делает простой запрос POST/GET для '/ loginfailed' return 200 status? – Xaerxess