将 HTTP 会话 Cookie 重命名

V2.5 及以前的 Java Servlet API 指出,会话标识 Cookie 必须命名为 JSESSIONIDWebSphere® Application Server V8 支持 Java Servlet API 3.0,它为应用程序提供用于将 JSESSIONID Cookie 名称重命名的选项。因此,WebSphere Portal V8.5 也支持此选项。

关于此任务

更改 JSESSIONID Cookie 名称的常见用例由使用 HTTP 代理服务器所导致的 Cookie 名称冲突而产生。您可以通过下列任一方法来避免此类冲突:
启用 HTTP 会话标识复用
这样可以通过跨不同服务器复用会话标识值来避免 Cookie 名称冲突。要保护 WebSphere Portal 用户会话,您需要启用安全性集成以及会话标识复用。有关详细信息,请参阅有关“HTTP 会话标识复用”的一节下的“会话管理定制属性”主题,以及对应于您的门户网站环境的 WebSphere Application Server 信息中心中的“会话安全性支持”和“会话管理设置”主题。

过程

  1. WebSphere Application Server 上的 HTTP 会话 Cookie 重命名。 为此,请完成下列步骤:
    1. 打开 WebSphere Integrated Solutions Console
    2. 选择服务器 > 应用程序服务器 > 服务器名称 > Web 容器设置 > 会话管理 > 启用 Cookie
    3. 根据需要更改会话 Cookie 名称的值。
    4. 单击确定
    5. 保存您所作的更改。
    6. 重新启动 WebSphere Application Server
    7. 重新生成插件配置文件。
    8. 如果您正在运行远程系统,请将插件配置文件复制到远程服务器。
  2. 要使门户网站与您在前一步骤中所作的更改同步,请对门户网站的资源环境提供程序添加必需属性:
    1. 打开 WebSphere Integrated Solutions Console
    2. 向资源环境提供程序添加下列属性:
      • WP ConfigService 中,添加以下属性:cookie.sessionid.name=cookiename
      • WP PortletServiceRegistryService 中,添加以下属性:
        com.ibm.wps.pb.service.PropertyBrokerServiceImpl.sessionid.cookie.names=cookiename
      对于这两个属性,将变量 cookiename 都替换为 JSESSIONID Cookie 的新名称。