Бесконечное перенаправление с плагином Grails Spring Security - PullRequest
0 голосов
/ 07 декабря 2011

Я создаю простое приложение Grails.В целях безопасности я использую плагин Spring Security и Spring Security UI.Я хочу иметь трех типов пользователей:

  • обычных пользователей (клиентов),
  • пользователей поддержки
  • администраторов

Клиентоввойдет в систему и сделает несколько запросов, служба поддержки получит эти запросы и ответит.Администраторы будут нести ответственность за администрирование прав и ролей пользователей и некоторых других вещей.

Так что в основном у меня есть три роли:

  • ROLE_USER
  • ROLE_SUPPORT
  • ROLE_ADMIN

Когда пользователь входит в системуон / она перенаправляется на другую страницу в зависимости от роли пользователя.Я сделал это, следуя совету ссылка .

Это работает.Но иногда я получаю следующую ошибку:

Firefox обнаружил, что сервер перенаправляет запрос на этот адрес способом, который никогда не завершится.Эта проблема иногда может быть вызвана отключением или отказом принимать куки.

Это мой UrlMappings.groovy:

   class UrlMappings {

    static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here

            }

        }

        "/"(controller:'login', action:'auth')
        "500"(view:'/error')

    }
}

Каков правильный подход к этому?Должен ли я создавать разные контроллеры для каждой роли или один RequestController (большая часть работы выполняется с классом домена запроса) и, например, определять различные действия для каждой роли - например, userList, supportList, adminList и т. Д.

1 Ответ

2 голосов
/ 08 декабря 2011

У меня аналогичное требование к моему приложению Grails с немного разными ролями.Что я делаю, это следующее:

в UrlMappings.groovy

"/"(controller: "home")

Затем в моем HomeController (это не совсем мой код, но вы поняли идею)1008 * Полагаю, ваша проблема с перенаправлением возникает в случае ошибки на странице входа.Я бы проверил, как вы обрабатываете исключения, и убедитесь, что они не пытаются перенаправить обратно на страницу входа, которая снова вызывает ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...