2015-04-16 2 views
0

Мне нужна общественная спокойная конечная точка, которая может сказать мне, зарегистрирован ли текущий пользователь или нет. Так как пользователь может быть аутентифицирован как AnonymousUser, я просто не могу это сделать:Весна безопасности: пользователь вошел или анонимный?

if (SecurityContextHolder.getContext().getAuthentication().isAuthenticated()) 
... 

Глядя на некоторые другие должности, похоже, мне, возможно, придется сделать что-то неуклюжее, как на самом деле выглядят для анонимной роли в эксплуатацию власти. Есть ли более простой способ?

ответ

0

Вот что я считаю, это самое простое решение:

// permitAll 
@RequestMapping(method = RequestMethod.GET, value = "/isAuthorized") 
public String isAuthorized(Principal user) {     
    return user != null ? "Y" : "N"; 
} 
0

Это хорошая практика, чтобы сделать успокоительный обслуживание без гражданства. Вы можете создать токен при аутентификации, также хранить маркерный сервер и клиент. Подтвердите токен в запросе клиента.

Смотрите здесь Custom Token based Spring REST authentication

Common REST Mistakes

+0

Этот ответ должен обеспечить более некоторый контекст и должен включать важные и соответствующие части информации можно найти на включенных ссылках. – Ruben

+0

вопрос заключается не в том, должна ли аутентификация быть апатридом или нет – gyoder

Смежные вопросы