У меня есть веб-приложение, работающее с Grails, которое смотрит за представлением и контроллером и вызывает в back-mvc backend через служебный уровень (Grails app using services from spring-mvc backend). Теперь мне нужно реализовать Spring Security (SS) для приложения.Spring Security для приложения Grails с использованием Spring MVC backend
На этом этапе я не уверен, как выйти замуж за обоих. У бэкэнда уже есть полноценная реализация весенней безопасности, но чтобы заставить приложение Grails работать, мне нужно было исключить все переходные весенние зависимости безопасности от приложения spring-mvc и пойти с чисто решением Grails (может быть, это было неправильное решение?) , Бэкэнд уже имеет объекты User и Role в комплекте с таблицей user_roles, смоделированной с помощью аннотации joinTable в домене пользователя.
Вопросы:
я на правильном пути? Игнорировать все из базы Java в терминах SS-бара, используя свои объекты данных, и пойти с Grails impl с плагином SS? Я видел сообщения о том, что мне даже не нужно использовать плагин Grails, но они довольно старые, и я не уверен, как я буду комментировать мои контроллеры и службы.
Если Grails - это способ, я не уверен, что мне нужно от бэкэнд и что мне нужно, чтобы переопределить/расширить в Grails. У меня есть расширенный User и UserDetailsService с SS в бэкэнд-приложении, но я не могу использовать их, поскольку я полностью исключил все банки SS, от которых они зависят, поэтому я полагаю, что мне нужно сворачивать самостоятельно?
Таким образом, я реализую объект UserDetails, пользовательский UserDetailsService (должен ли он реализовать GrailsUserService?) И выставляет последний как bean-компонент, и все должно работать? Может, подумать.
Любое руководство, даже на высоком уровне, будет высоко оценено, поскольку я изо всех сил пытаюсь определить мой подход на данный момент, не говоря уже о реализации.
Возможно, что-то подобное поможет: http://grails.org/plugin/spring-security-cas – Gregg
@Gregg Спасибо, но на данном этапе я не обязательно должен отделяться от механизма входа. Исправьте меня, если я ошибаюсь, но, похоже, излишне использовать CAS для решения этой проблемы. – dre