Мне интересно узнать об интерфейсе UserDetailsManager . Он не упоминается в справочном руководстве, а в JavaDoc он описывается как:
Расширение
UserDetailsService , который обеспечивает
возможность создавать новых пользователей и обновлять
существующие.
При реализации интерфейса UserDetailsManager необходимо реализовать пять собственных методов и один, который он наследует от сервиса UserDetailsService, который он расширяет.
Это следующие методы: createUser, updateUser, deleteUser, changePassword, userExists и унаследованный метод loadUserByUsername.
В платформе Spring Security v2.0.4 есть две конкретные реализации UserDetailsManager: JdbcUserDetailsManager и LdapUserDetailsManager .
И интерфейс, и конкретные реализации реализованы Люком Тейлором.
Кажется, среда Spring Security никогда не использует конкретные реализации.
Мой вывод заключается в том, что интерфейс включен исключительно в качестве удобного интерфейса, который пользователь платформы может или не может использовать. Возможно, кто-то думал, что позже будут существовать более конкретные реализации, которые возьмут на себя часть работы для пользователей платформы?
Я ищу больше информации. Чтобы информация имела ценность, она должна поступать напрямую или косвенно (я полагаю, что это наиболее вероятно) от кого-то, кто разбирается в процессе разработки инфраструктуры. Любой другой может просто догадываться, как я только что сделал выше.
Если это просто удобный интерфейс. Есть ли еще такие интерфейсы и классы, которых нет в справочном руководстве? Мне интересно знать, как это может быть полезно для меня при разработке.
Просматривать все интерфейсы и классы, чтобы увидеть, какие из них фактически используются внутри фреймворка, немного придирчиво, и это может быть также подвержено ошибкам, если задействовано отражение (поэтому выполняются вызовы, которые моя IDE не может выяснить).