2015-12-02 20 views
0

Я создаю задний конец REST на основе весны, и я использую весеннюю безопасность для обеспечения запросов. Но я ищу проблему для входа, отправив параметры в json, а не параметры по умолчанию, отправленные по умолчанию для входа в систему весенней безопасности.json login on spring security

Я работаю родниковой безопасности 4.0.1 и весной 4,1

Любой вопрос, пожалуйста?

+0

Каковы параметры? Еще просто имя пользователя и пароль или что-то еще? – kaqqao

+0

Да только те, и могут быть также разрешениями – Queezzy

ответ

0

Если вы используете только имя пользователя и пароль, вы можете просто добавить в стек новый фильтр, похожий на существующий UsernamePasswordAuthenticationFilter, который будет реагировать только на определенный URL-адрес (так же, как по умолчанию реагирует только на j_spring_security_check) , проанализируйте JSON и создайте тот же самый UsernamePasswordAuthenticationToken, который создает фильтр по умолчанию. Это оставляет провайдер auth таким же, как токен не изменился.

Если вам нужно больше полей в дополнение к имени пользователя и паролю, создайте новый тип токена (или используйте существующий, если это имеет смысл) и новый провайдер auth, который может иметь дело с этим типом маркера. Вы также можете просто нарезать дополнительные поля на UsernamePasswordAuthenticationToken, используя setDetails(), но это немного взломано.