Как я могу встроить html-страницу в jsp, избегая повторных входов в систему, но размещая html отдельно в веб-приложении? - PullRequest
0 голосов
/ 16 августа 2010

У меня есть веб-приложение, размещенное на tomcat, на одной из страниц jsp, которое отображает веб-приложение, я использую iframe для встраивания html-документа.

Мне нужно, чтобы html-страницы были отделены от веб-приложения, чтобы их можно было изменять, не требуя повторного запуска исходного веб-приложения или доступа редакторов к веб-приложению.

Также важно, чтобы HTML-страницы были безопасными и не были доступны напрямую каким-либо образом, то есть доступны только в этом веб-приложении или путем аутентификации пользователя. Я также хочу избежать входа пользователя в веб-приложение и на страницу в iframe.

Я не уверен, как подойти к этому, у меня есть сервер apache, php и, конечно, tomcat.

Я могу придумать два подхода, но не уверен, как реализовать либо:

  1. Я передаю данные аутентификации со страницы jsp и сохраняю все имена пользователей и т. Д. В другом месте для файла .htaccess для проверки (не идеально, так как это означает поддержку двух файлов имени пользователя / пароля)
  2. Я как-то обязываю, что эти страницы могут быть доступны только тогда, когда они показываются в этом iframe, т.е. использовать веб-приложение в качестве аутентификатора и держать веб-страницы доступными только через него. *

    В настоящее время я могу думать только о довольно неуклюжем двойном входе в систему с использованием .htaccess на сервере apache, который потребует от пользователя еще раз ввести имя пользователя и пароль перед просмотром документов.

    Кто-нибудь может придумать более элегантное решение?

    Спасибо!

    CJ

1 Ответ

2 голосов
/ 17 августа 2010

Проще всего было бы , а не обслуживать HTML-страницы общедоступным веб-сервером, а просто размещать их по какому-то фиксированному пути вне общедоступного веб-контента. Затем вы можете создать сервлет, который получает InputStream файла HTML на FileInputStream и записывает его в OutputStream ответа сервлета, полученного HttpServletResponse#getOutputStream() обычным способом ввода-вывода Java.

Затем в вашем JSP просто измените <iframe> src, чтобы он указывал на этот сервлет, вместе с нужным HTML-файлом в качестве параметра запроса или pathinfo.

<iframe src="htmlservlet/file.html" />

Таким образом, вы можете управлять аутентификацией в одном месте, в веб-приложении JSP / Servlet.

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