2012-06-07 2 views
3

Я переношу свой проект (использует сервлеты/jsp/jdbc/jndi) на Weblogic 10c на Apache Tomcat 7.0.22. Мне удалось настроить сервер аутентификации ldap, а также заменить xxx-jdbc.xml, используемый weblogic. Теперь моя проблема заключается в том, что я пытаюсь перенести файл weblogic.xml в каталог Web Content/WEB-INF. Содержимое файла XML являются следующие:Миграция из Weblogic в Apache Tomcat

<?xml version = '1.0' encoding = 'UTF-8'?> 
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd" 
       xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"> 
    <security-role-assignment> 
    <role-name>REGISTERED_USER</role-name> 
    <principal-name>GROUP_NAME_FROM_LDAP</principal-name> 
    </security-role-assignment> 
    <session-descriptor> 
    <debug-enabled>false</debug-enabled> 
    <tracking-enabled>true</tracking-enabled> 
    <cookie-name>nameOfCookie</cookie-name> 
    <cookie-max-age-secs>-1</cookie-max-age-secs> 
    <url-rewriting-enabled>false</url-rewriting-enabled> 
    <encode-session-id-in-query-params>false</encode-session-id-in-query-params> 
    <sharing-enabled>false</sharing-enabled> 
    </session-descriptor> 
    <context-root>my_app_context_root</context-root> 
    <servlet-descriptor> 
    <servlet-name>FileDownload</servlet-name> 
    </servlet-descriptor> 
</weblogic-web-app> 

Сверху вниз я имею безопасности-ролевые назначения, которая отображает пользователей из LDAP группы, чтобы иметь REGISTERED_USER. Дескриптор сеанса тега, который, как мне кажется, сам объясняется. Тогда есть мой контекст приложения root context-root. И затем некоторое определение сервлета, которое используется для регистрации сервлета в Weblogic (это также определено в web.xml, и я думаю, что это не потребует больше обработки).

Итак, что является лучшим способом переноса этого файла weblogic.xml в мое приложение?

+0

эй, как вы прошли полную миграцию? можете ли вы поделиться ссылкой со ступенями? Я знаю, что это долгое время после того, как вы разместили этот вопрос :) –

+0

Боюсь, я больше не могу помочь вам в этом, так как это было сделано 5 лет назад ... – MaVRoSCy

+0

no worries, thanks :) –

ответ

4

В Tomcat эти вещи могут быть определены в нескольких разных местах.

Для повторного сопоставления security-role воспользуйтесь стандартом <security-role-ref> в web.xml, чтобы переименовать имена ролей.

Если вы используете сервлет-3,0-спецификации веб-приложение, то многие из ваших session- и печенья связанных элементов доступны через web.xml:

<session-config> 
    <cookie-config> 
    <name>nameOfCookie</name> 
    <max-age>-1</max-age> 
    </cookie-config> 
    <!-- just don't use "URL" to disable rewriting --> 
    <tracking-mode>COOKIE</tracking-mode> 
</session-config> 

В противном случае, вам придется прибегнуть к некоторые акробатики. Во-первых, я предполагаю, что вы используете файл META-INF/context.xml в своем веб-приложении для развертывания в Tomcat.

  1. сессия Имя печенья

    <Context sessionCookieName="nameOfCookie" /> 
    
  2. Cookie максимального возраста
    Использовать в web.xml стандарт <session-config><session-timeout />. (Технически это настраивает максимальный возраст сеанса, но эффект такой же: файл cookie будет по существу утрачен по истечении срока действия сессии. Если вам действительно нужен максимальный возраст cookie, прочитайте эту тему: http://markmail.org/thread/u2ysiz3uxays2w4i)

  3. Отладка/отслеживание файлов cookie не поддерживается конфигурацией. Вам придется написать свои собственные Filter (ы), чтобы дублировать эти функции.

  4. Отключение URL переписывания будет требовать, чтобы вы пишете Filter, который отменяет HttpServletResponse.encodeURL и HttpServletResponse.encodeRedirectURL не должно быть никаких-OPS на своих String аргументов.

+0

спасибо большое за ваш ответ , Я попробую и дам вам знать, как он пойдет. – MaVRoSCy

+0

Кажется, что у меня проблема с security-role-ref. Пожалуйста, см. Http://stackoverflow.com/questions/10981375/security-role-ref-not-working-properly, если вы можете помочь – MaVRoSCy

Смежные вопросы