4

Weblogic 10cでビルドされたプロジェクト(サーブレット/ jsp / jdbc / jndiを使用)をApacheTomcat7.0.22に移行しています。LDAP認証サーバーを構成し、weblogicで使用されるxxx-jdbc.xmlを置き換えることができました。今私の問題は、web Content/WEB-INFディレクトリにあるweblogic.xmlファイルを移行しようとしていることです。xmlファイルの内容は次のとおりです。

<?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を持つようにマップするsecurity-role-assignmentがあります。タグセッション記述子は自己説明だと思います。次に、私のアプリのコンテキストルートコンテキストルートがあります。次に、サーブレットをWeblogicに登録するために使用されるサーブレット定義(これはweb.xmlでも定義されており、これ以上の処理は必要ないと思います)。

では、アプリケーションでこのweblogic.xmlファイルを移行するための最良の方法は何ですか?

4

1 に答える 1

5

Tomcatでは、これらはいくつかの異なる場所で定義できます。

security-role再マッピングについては<security-role-ref>、web.xmlの標準を使用してロール名を再マッピングします。

サーブレット3.0仕様のWebアプリケーションを使用している場合、セッションおよびCookieに関連するアイテムの多くは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へのデプロイにWebアプリケーション内のファイルを使用していると仮定します。

  1. セッションCookie名

    <Context sessionCookieName="nameOfCookie" />
    
  2. Cookiemax- ageweb.xml
    の標準<session-config><session-timeout />を使用します。(技術的には、これによりセッションの最大年齢が設定されますが、効果は同じです。セッションの有効期限が切れると、Cookieは基本的に無効になります。本当にCookieの最大年齢が必要な場合は、次のスレッドをお読みください:http://markmail。 org / thread / u2ysiz3uxays2w4i

  3. Cookieのデバッグ/追跡は構成ではサポートされていません。Filterこれらの機能を複製するには、独自に作成する必要があります。

  4. URLの書き換えを無効にするには、引数FilterをオーバーライドHttpServletResponse.encodeURLし、HttpServletResponse.encodeRedirectURL操作を行わないようにする必要があります。String

于 2012-06-07T15:53:39.977 に答える