У меня есть устаревший webapp, который в настоящее время аутентифицирует пользователей в сервлете. То есть он вызывает LoginContext.login() из сервлета.oc4j как установить участника пользователя из темы?
В рамках моих обновлений я хотел бы добавить новые веб-страницы, которые используют декларативную аутентификацию через файл web.xml. И я хочу, чтобы старые веб-страницы продолжали использовать аутентификацию сервлета. В конце концов, я переработаю старые веб-страницы, чтобы использовать новую аутентификацию.
Однако новые страницы не наследуют аутентификацию, выполненную из сервлета. Они появляются как не прошедшие проверку, без запроса пользователя в запросе.
С существующим сервлетом я получаю предмет. Можно ли каким-либо образом вызвать что-то, чтобы OC4J установил пользовательский принцип из одного принципала Subject?
Пытаюсь разные вещи здесь. На одной из старых страниц я изменил строку меню, чтобы указать на одну из новых страниц. Я добавил JSESSIONID в URL-адрес, надеясь, что будет использоваться существующий сеанс. Однако, похоже, создается новый сеанс. Итак, в качестве примера, на /jobs.app в строке меню есть ссылка на /secure/spsas.jsp?JSESSIONID = ... Не повезло. –
Старые страницы находятся под управлением Spring MVC, а новые страницы находятся под контролем Struts, если это имеет значение. Nevermind, почему разница. –
Еще больше информации. Старый материал находится на верхнем уровне контекста (например, /myapp/jobs.app), а новый материал находится на одном уровне вниз (например, /myapp/secure/spsas.jsp). Я хочу, чтобы новый материал был защищен тем, что находится в web.xml, вместо использования LoginContext. –