Приложения Grails с включенным CAS - PullRequest
0 голосов
/ 21 октября 2011

Товарищи, разработчики Grails, помогите мне найти самый отличный способ добиться следующего.Итак, у меня есть Tomcat с включенным CAS, который используется всеми размещенными веб-приложениями.Одним из таких веб-приложений является приложение Grails.

Что касается файлов в папке веб-приложения этого приложения Grails, они просто могут видеть request.getRemoteUser (), как и ожидалось.

Что касается приложения grails (например, для получения имени пользователя в контроллерах), я должен предпринять некоторые дополнительные шаги.

Мой вопрос - какой самый отличный способ сделать это?Вдобавок ко всему, просто пытаясь решить эту проблему любыми способами, я могу пересылать запросы контроллерам из части веб-приложения, но это довольно извращенно.Или я могу установить плагин Grails CAS, но это означает, что я просто удваиваю конфиги, так как я уже занимаюсь настройкой web.xml.

Или я могу (могу ли я?) Использовать как-то для этих целей springSecurityService?

Но какой самый элегантный способ получить имя пользователя в приложении Grails, когда, как и в веб-приложениях, уже работает CAS?

1 Ответ

1 голос
/ 21 октября 2011

Есть несколько различных способов справиться с этим:

  1. Использовать ядро ​​Spring-Security с Spring-Security-CAS;но, как вы говорите, это добавляет второй слой CAS
  2. Доступ к пользовательской информации через request.remoteUser, как и в любом другом веб-приложении
  3. Настройка PreAuthenticatedAuthenticationProvider и RequestHeaderAuthenticationFilter для получения Spring-Security для доверия заголовкам запроса, настроенным tomcat;есть некоторая информация по настройке на http://dickersonshypotheticalblog.blogspot.com/2011/05/grails-spring-security-using.html
...