У меня возникли проблемы с поиском именно того, что мне нужно реализовать, чтобы использовать собственный метод проверки подлинности с моим веб-приложением с помощью Spring Security. У меня есть приложение Grails с плагином Spring Security, который в настоящее время использует стандартную аутентификацию пользователя/пароля с формой браузера. Это работает правильно.
Мне нужно реализовать механизм наряду с этим, который реализует тип аутентификации MAC. Если HTTP-запрос содержит несколько параметров (например, идентификатор пользователя, временную метку, подпись и т.д.), Мне нужно принять эти параметры, выполнить некоторые сравнения хэширования и подписи/отметки времени, а затем аутентифицировать пользователя.
Я не уверен на 100%, с чего начать. Какие Spring классы безопасности мне нужно расширять/внедрять? Я прочитал Reference Documentation и хорошо понимаю понятия, но не уверен, нужен ли мне фильтр или поставщик или менеджер, или где/как именно создать объекты Authentication. Я запутался, пытаясь расширить AbstractProcessingFilter и/или реализовать AuthenticationProvider, но я просто поймал понимание того, как я заставляю их играть хорошо.