Я создаю веб-приложение для учебы. Приложение будет управляться одним администратором, который может регистрировать организации, чтобы его могли использовать его сотрудники.
У меня уже есть работающая конфигурация WebSecurityConfiguration, которая перенаправляет каждого неаутентифицированного пользователя на страницу формы входа в систему "/ login". Теперь мне нужно дать каждой организации собственную ссылку для входа в систему, например, "{organization} / login", поскольку мой профессор запросил ее. И для этого я пока не нашел решения.
Я не могу просто добавить страницу, на которой пользователи выбирают свою организацию для перенаправления, на соответствующую страницу входа, поскольку я не хочу предоставлять информацию о том, какие организации действительно используют приложение, любому пользователю, кроме администратора.
Я попытался прочитать о StackOverflow и нашел этот вопрос . Он не отвечает на вопрос, который у меня возник, так как, кажется, он был вызван только аутентификацией.
Я думал о решении проблемы путем добавления нескольких WebSecurityConfiguration (с помощью @Order), что в конечном итоге ничего не решает, так как я не знаю, сколько организаций (и каких) будет добавлено.
Я попытался использовать собственный контроллер для обработки «/ login» и позволить Spring внедрить HttpServletRequest в соответствующий метод (аннотированный @GetMapping («/ login»)) в надежде найти исходный HTTP-запрос, который был перенаправлен, сохранен где-то в Кажется, я либо пропустил это, либо его там нет.
Так что моя следующая надежда - добавить фабрику в мое приложение, которая просто добавляет еще один WebSecurityConfig во время выполнения для каждой недавно зарегистрированной организации. Я не нашел никаких средств, чтобы понять это, хотя.
Так есть ли способ зарегистрировать новые WebSecurityConfigurations во время выполнения я пропустил? Или есть место, где я могу получить информацию о HTTP-запросе после его перенаправления на страницу входа? Я открыт для любых решений или намека на мою проблему.