Это не один из простых вопросов .. Итак, позвольте мне объяснить это подробно ...
Фон :
В моем приложении Grails у меня есть это отображение:
class UrlMappings {
static mappings = {
"/$storeId/$controller/$action?/$id?"
...
}
}
Это означает, что все URL, которые будет обрабатывать мое приложение, имеют предшествующий параметр url "storeId". Все контроллеры будут использовать этот параметр для визуализации содержимого и выполнения других действий ...
Также у меня есть контроллер с аннотацией
@Secured(['IS_AUTHENTICATED_REMEMBERED'])
class SomeController {
def index = {
// ...
}
}
Допустим, пользователь пытается получить доступ к этой странице:
/555/some/index
Если это не прошедший проверку подлинности пользователь, плагин безопасности перенаправит его на
/login/auth
Проблема :
Когда spring-security перенаправит на эту страницу, пользователь увидит 404. Это происходит потому, что контроллер входа в систему будет обрабатывать только URL-адреса, такие как
/555/login/auth
Вопрос :
Что я должен сделать, чтобы динамически создать этот URL?
приписка
Оказывается, что:
- Существует параметр конфигурации для
Spring-Security, называется
"Auth.loginFormUrl". Но это только
статический текст И мне нужно построить это
URL, основанный на том, что URL повлиял на это
Перенаправление
- Перенаправление выполнено (я не на 100%
обязательно) в org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint # начало.
Но как это переопределить?