У меня есть веб-приложение Java/JEE, работающее на Apache Tomcat 7.x. Допустим, он работает по этому URL-адресу:
http://app.example.com:9080/app
Я хочу контролировать доступ к этому приложению через сервер WebSEAL (TAM для электронного бизнеса 6.0). Итак, я создал перекресток с прозрачным путем /app
для доступа к приложению.
Итак, теперь я могу получить к нему доступ через URL-адрес WebSEAL, например:
https://secure.example.com/app
Я также создал ACL-список, который действует как сквозной и позволяет любому получить доступ к приложению, используя приведенный выше URL-адрес WebSEAL. Аутентификация контролируется непосредственно приложением. Итак, мне не нужен TAM для аутентификации пользователя.
Мой вопрос: как запретить пользователю доступ к приложению напрямую через этот URL: http://app.example.com:9080/app
?
Я хочу знать, могу ли я использовать какую-либо идентификацию, которая сообщает мне, поступает ли запрос с сервера WebSEAL или непосредственно на URL-адрес приложения.
Я попытался включить следующие параметры в WebSEAL Junction:
Под заголовками идентификации клиента
User Name (Short)
User Name (Full DN)
User Groups List
User Credential
Общие настройки
Insert client IP header
Insert WebSEAL cookies
Preserve names of cookies
Add cookie path to cookie names
Эти параметры не добавляют никаких заголовков HTTP, если пользователь не аутентифицирован TAM, что для меня не вариант. Если бы они могли, я мог бы создать WebFilter, который мог бы читать этот заголовок в приложении Java и предотвращать запрос, если заголовок отсутствует. Но не повезло с этим.
Какие-либо предложения?