MaV*_*SCy 3 java migration tomcat servlets weblogic
我正在将基于 Weblogic 10c 构建的项目(使用 servlet / jsp / jdbc / jndi)迁移到 Apache Tomcat 7.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>
Run Code Online (Sandbox Code Playgroud)
从上到下,我有安全角色分配,它将 ldap 组中的用户映射为拥有 REGISTERED_USER。我认为标签会话描述符是自我解释的。然后是我的应用程序上下文根上下文根。然后是一些 servlet 定义,用于将 servlet 注册到 Weblogic(这也在 web.xml 中定义,我认为这不需要更多处理)。
那么在我的应用程序中迁移此 weblogic.xml 文件的最佳方法是什么?
在 Tomcat 中,这些东西可以在几个不同的地方定义。
对于security-role重新映射,请使用 web.xml 中的标准<security-role-ref>来重新映射角色名称。
如果您使用的是 servlet-3.0-spec webapp,那么许多与会话和 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>
Run Code Online (Sandbox Code Playgroud)
否则,你将不得不诉诸一些杂技。首先,我假设您正在使用META-INF/context.xmlweb 应用程序中的一个文件来部署到 Tomcat。
会话 cookie 名称
<Context sessionCookieName="nameOfCookie" />
Run Code Online (Sandbox Code Playgroud)Cookie max-age
使用 web.xml 中的标准<session-config><session-timeout />。(从技术上讲,这配置了会话的 max-age,但效果是相同的:cookie 在会话过期后本质上会变得无效。如果您确实需要 cookie max-age,请阅读此线程:http://markmail。组织/线程/u2ysiz3uxays2w4i )
配置不支持 Cookie 调试/跟踪。您必须编写自己的Filter代码来复制这些功能。
禁用 URL 重写将要求您编写一个Filter覆盖它们的参数HttpServletResponse.encodeURL并且HttpServletResponse.encodeRedirectURL对其参数不进行任何操作的代码String。
| 归档时间: |
|
| 查看次数: |
10570 次 |
| 最近记录: |