2013-02-28 2 views
1

Я использую Ггц и Grails 2.2.0 и внедрил пружинную безопасность наряду с базовой аутентификацией со следующими параметрамиGrails 2.2.0, Spring Security - функция выхода из системы не работает

Config.groovy

grails.plugins.springsecurity.useBasicAuth = true 
grails.plugins.springsecurity.digest.realmName = 'someval' 

LogoutController {

def index = { 
    redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl 
} 

Когда я нажимаю на выходе из системы - это не войти пользователь, он возвращает меня на домашнюю страницу. Я смотрел форумы, но ничего не нашел.

Я хочу, чтобы убедиться, что все решения будет реализован, выходит из использования полностью, и пользователь не сможет вернуться на исходную страницу без входа обратно.

Любые указатели/предложения приветствуются.

ответ

2

Проблема связана с базовой аутентификацией HTTP. Он не указывает способ выхода из системы. Я считаю, что есть некоторые «неофициальные» методы, которые работают (см. How to log out user from web site using BASIC authentication?), но Spring Security, похоже, не использует их.

Лучшее решение - полностью исключить Basic Auth. Если это не вариант, вам придется написать настраиваемый LogoutController, например, отправляет обратно код ошибки 401.

+0

Спасибо, что подтверждает то, что я читал, я в конечном итоге буду использовать DigestAuth - BasicAuth придется делать в это время. Есть ли у вас какие-либо предложения по использованию дайджеста в grails? – user1811107

+2

Digest auth использует тот же механизм, только более безопасный. Большинство веб-сайтов просто игнорируют HTTP-аутентификацию и обрабатывают ее в приложении. – ataylor