2010-06-28 14 views
0

В моем приложении Grails используется Spring Security (Acegi). Пользователи могут зайти на сайт /login. после этого он перенаправляется на /. если кто-то сейчас попытается вернуться к URL-адресу /login, браузер говорит «бесконечная перенаправление, запрос никогда не может быть закончен». в login контроллера, действия login, который показывает вид входа есть некоторый кодКак остановить бесконечное перенаправление после успешного входа в систему

if (isLoggedIn()) { 
    redirect uri: '/' 
    return 
} 

, но это (и все действие) не выполняется, когда один удар /login и LoggedIn.

SecurityConfig объявляет

Есть Tipps как я Стопп редирект?

ответ

0

Вы не хотите, чтобы ROLE_ANONYMOUS, так как у аутентифицированных пользователей его не было, это всего лишь поддельная роль, которую получают неавторизованные пользователи. Вместо этого используйте IS_AUTHENTICATED_ANONYMOUSLY. Это означает, что вы не аутентифицированы, аутентифицированы с помощью cookie-файла cookie или аутентифицированы через форму входа (т. Е. Все пользователи).

+0

Большое спасибо !!! Это прекрасно работает. Я думал, что роли иерархически организованы? ROLE_ANONYMOUS skurt

+0

Существует поддержка иерархических ролей, но вам нужно определить иерархию - см. Раздел 10.12 в [docs] (http://burtbeckwith.github.com/grails-spring-security-core/docs/manual/) –

Смежные вопросы