2015-09-08 2 views
0

Я добавил блокировку пользовательских функций на сайте.Почему основной возвращает тип объекта в весенней безопасности?

Я добавляю isBlocked в мой UserModel. Когда я пытаюсь войти в систему - эти поля проверяются.

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

Я прочитал следующую тему:

How do you log out all logged in users in spring-security?

Но я не идеи, как проверить, что основной (java.lang.Object на самом деле), связанный с пользователем.

+0

Просто отлаживайте его, и вы увидите, какой конкретный объект вы получите в качестве принципала. Взгляните на http://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/core/Authentication.html#getPrincipal(), в простейшем случае это будет имя пользователя , –

+0

http://stackoverflow.com/questions/3235997/how-to-access-http-sessions-in-java – Stefan

ответ

1

Директор - это объект, который вы должны использовать для идентификации пользователя. После определения вы можете истекли сеанса этого пользователя. Here вы найдете хорошее объяснение того, что такое Принципал весной.

Вы можете направить принципала в соответствующий класс, но вы должны это знать раньше. Класс принципала может быть org.springframework.security.core.userdetails.User или что-то еще, это зависит от того, как вы используете SpringSecurity.

Быстрый способ узнать, что является правильным классом, - это отладка решения, указанное в приведенной ссылке.

+0

ОК это работает для меня без classCastException, но это странно для меня, используя явный класс cast – gstackoverflow

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