启用安全性之后发生错误
如果在启用了安全性之后仍然遇到错误,请使用此信息。
- 访问 Web 页面时发生认证错误
- 访问 Web 页面时发生授权错误
- 当客户机与服务器之间的代码页不同时,认证将失败
- 错误消息:CWSCJ0314E: 当前 Java 2 安全策略报告可能的违例
- 启动应用程序服务器时,在 SystemOut.log 中显示 CWMSG0508E: JMS 服务器安全服务无法认证用户标识:错误
- 启用安全性和启动应用程序服务器后出现错误消息:CWSCJ0237E: 一个或多个重要的 LTPAServerObject 配置属性为空或不可用
在 SystemOut.log 中报告 AccessControlException
- 由于以下异常 {1} 而出现错误消息:CWSCJ0336E: 用户 {0} 的认证失败
错误消息:初始化安全性时发生意外的异常,collaborator.java.lang.SecurityException: AuthConfigFactory error: java.lang.ClassNotFoundException: org.apache.geronimo.components.jaspi.AuthConfigFactoryImpl
错误消息:SECJ8032W: 使用缺省 JASPI 工厂实现类时 AuthConfigFactory 未定义
- 错误消息:SECJ0352E: 无法使用户与模式 {0} 相匹配,因为发生了以下异常 {1}
- 密钥或令牌类型无效导致 LTPA 令牌验证失败
- 使用 Profile Management Tool 来创建新概要文件时生成密钥错误
- LDAP 在其中启用了 Tivoli Access Manager 的受保护应用程序无法立即使用某些安全角色
- 将域的领域设置为不可信后,无法使用全局安全性设置
- 更新后的全局安全性域名称重复
- 启用会话安全性功能时可能会发生错误
ABEND WITH ABEND EC3 REASON=020F2001
有关诊断和解决与安全性相关的问题的一般技巧,请参阅主题对安全性组件进行故障诊断。
访问 Web 页面时的认证错误
- 用户名或密码不正确。检查用户名和密码并确保它们是正确的。
- 安全性配置错误:未正确设置用户注册表类型。检查管理控制台的 管理安全性 设置中的用户注册表属性。验证该用户注册表属性是否为期望的用户注册表。
- 内部程序错误。如果客户机应用程序是 Java™ 独立程序,那么此程序可能没有正确收集或发送凭证信息。
如果用户注册表配置、用户标识和密码显示正确,请使用 WebSphere Application Server 跟踪来确定问题的原因。要启用安全性跟踪,请使用 com.ibm.ws.security.*=all=enabled 跟踪规范。
访问 Web 页面时的权限错误
如果某用户应有权访问资源但实际上没有,那么可能是忽略了某个配置步骤。复审授予管理角色访问权。
- 检查所访问 Web 资源的必需角色。
- 检查授权表,确保用户或用户所属的组被指定了必需角色中的一个角色。
- 查看 Web 资源的部署描述符中 Web 资源的必需角色。
- 使用管理控制台查看包含 Web 资源的应用程序的授权表。
- 测试授予了必需角色的用户,查看该用户是否可访问问题资源。
- 如果要求该用户具有一个或多个必需角色,那么使用管理控制台为该用户指定必需的角色,然后停止应用程序,再重新启动它。
如果该用户已获得必需角色,但仍无法访问受保护的资源,请使用 com.ibm.ws.security.*=all=enabled 作为跟踪规范来启用安全性跟踪。收集跟踪信息以获得进一步的解决。
当客户机与服务器之间的代码页不同时,认证将失败
当客户机使用与服务器不同的代码页,并且在基本认证期间将非美国 ASCII 字符用于用户标识和密码时,登录将不会成功。HTTP 头不包含转换编码数据所需的编码方法信息,因此服务器不知道如何正确地解码信息。错误消息:CWSCJ0314E: 当前 Java 2 安全策略报告了服务器上可能的违例
错误消息:CWSCJ0314E: 当前 Java 2 安全策略报告了 Java 2 安全许可权可能的违例。请参阅 Problem Determination Guide 以了解更多信息。{0} 许可权:{1} 代码:{2}{3} 堆栈跟踪:{4} 代码库位置:{5}Java 安全管理器 checkPermission 方法报告了 SecurityException 异常。
报告的异常对于安全系统可能十分关键。请打开安全性跟踪以确定可能违反了安全策略的代码。在确定违例代码之后,请通过检查所有适用的 Java 2 安全策略文件和应用程序代码,验证 Java 2 安全性是否允许尝试的操作。
检查“跟踪和记录配置”一文,以了解如何将可靠性可用性可维护性 (RAS) 配置为调试方式的指示信息,或
- 从管理控制台依次选择
- 添加 java.security.debug 运行时标志
- 有效值:
- access
- 打印所有调试信息(包括所需的许可权、代码、堆栈和代码库位置)。
- stack
- 打印调试信息,包括必需的许可权、代码和堆栈。
- failure
- 打印调试信息,包括必需和许可权和代码。
窗格,在“通用 JVM 参数”窗格中指定下列属性:
要复审 Java 安全策略,请参阅 Java 2 安全性文档 ( http://www.ibm.com/developerworks/java/jdk/security/)。
- permission java.io.FilePermission "${user.home}${/}.mailcap", "read";
- permission java.io.FilePermission "${user.home}${/}.mime.types", "read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mailcap", "read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mime.types", "read";
启动应用程序服务器时,SystemOut.log 中显示“错误消息:CWMSG0508E: JMS 服务器安全服务无法认证用户标识:”错误
如果先安装 Java 消息服务 (JMS) API 样本,然后启用安全性,就有可能会产生此错误。可以遵循相应 JMS 样本文档中的“配置和运行”页面中的指示信息来配置样本,以使用 WebSphere Application Server 安全性。
可以通过启动安装程序,选择定制并浏览在“选择您要安装的功能部件”窗格中已安装的组件,来验证消息驱动的 Bean 样本的安装。JMS 样本在“嵌入式消息传递”下显示为“消息驱动的 Bean 样本”。
还可以通过使用管理控制台打开包含样本的应用程序服务器的属性来验证此安装。选择 MDBSamples 并单击卸载。
启用安全性并启动应用程序服务器后,出现“错误消息:CWSCJ0237E: 一个或多个重要 LTPAServerObject 配置属性为空或不可用”
此错误消息会在选择轻量级第三方认证 (LTPA) 作为认证机制但不生成 LTPA 密钥时产生。LTPA 密钥对 LTPA 令牌进行加密。
- 单击 。
- 输入密码,它可以是任何字符。
- 在“确认密码”中输入同一密码。
- 单击“应用”。
- 单击“生成密钥”。
- 单击“保存”。
在 SystemOut.log 中报告了 AccessControlException 异常
此问题与 WebSphere Application Server 的 Java 2 安全性功能部件(在 WebSphere Application Server 中实现的 API 级别安全框架)相关。会显示类似于以下示例的异常。此错误消息和数量可改变。![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet:
java.security.AccessControlException: access denied
(java.io.FilePermission
app_server_root/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)
![[z/OS]](../images/ngzos.gif)
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet:
java.security.AccessControlException: access denied
(java.io.FilePermission
/WebSphere/V6R1M0/AppServer/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)
![[IBM i]](../images/iseries.gif)
CWSRV0020E: [Servlet Error]-[validator]: Failed to load servlet:
java.security.AccessControlException: access denied
(java.io.FilePermission
app_server_root/systemApps/isclite.ear/isclite.war/WEB-INF/validation.xml read)
有关 Java 2 安全性的说明、如何及为何将其启用或禁用、它如何与策略文件相关以及如何编辑策略文件,请参阅此信息中心导航中的 Java 2 安全性 主题。本主题说明不仅此产品使用 Java 2 安全性,开发者也可以实现它以用于他们的业务应用程序。
如果客户机尝试访问 WebSphere Application Server 主管的资源时产生此异常,那么管理员可能需要让开发人员介入。
- 策略文件中的语法错误。
- 捆绑在 .rar 文件中的 ra.xml 文件的许可权指定的语法错误。这种情况适用于支持对 CICS® 或其他资源的连接器访问的资源适配器。
- 应用程序在策略文件或捆绑在 .rar 文件中的 ra.xml 文件的许可权指定中缺少指定的许可权。
- 未正确设置类路径,使得无法为服务提供程序接口 (SPI) 正确地创建对 resource.xml 文件的许可权。
- 应用程序调用的库或应用程序缺少支持访问资源的 doPrivileged 块。
- 在错误的策略文件中指定许可权。
- 检查所有相关的策略文件,以验证是否指定显示在异常中的许可权,例如 java.io.FilePermission。
- 在报告语法错误详细信息的 SystemOut.log 文件中查找相关的 ParserException 异常。
例如:
CWSCJ0189E: Caught ParserException while creating template for application policy profile_root/config/cells/cell_name/nodes/node_name/app.policy
CWSCJ0189E: Caught ParserException while creating template for application policy /WebSphere/V6R1M0/AppServer1/profiles/profile_name/config/cells/cell_name/nodes/node_name/app.policy.
CWSCJ0189E: Caught ParserException while creating template for application policy profile_root/config/cells/cell_name/nodes/node_name/app.policy
其中:此异常是 com.ibm.ws.security.util.ParserException: line 18: expected ';', found 'grant'V6R1M0 表示您正在使用的 WebSphere Application Server 的版本。
- cell_name 表示单元的名称。
- profile_name 表示概要文件的名称。
- node_name 表示节点的名称。
- 查找类似于此消息的消息:CWSCJ0325W: 未解析策略文件中指定的许可权 permission。
- 检查调用堆栈以确定哪个方法没有许可权。识别此方法的类路径。如果很难识别此方法,那么启用 Java2 安全性报告。
通过指定 com.ibm.ws.security.core.*=all=enabled 或指定 Java property.java.security.debug 属性来配置 RAS 跟踪。java.security.debug 属性的有效值为:
- access
- 打印调试信息,包括:必需的许可权、代码、堆栈和代码库位置。
- stack
- 打印调试信息,包括:必需的许可权、代码和堆栈。
- failure
- 打印调试信息,包括:必需的许可权和代码。
- 此报告显示:
- Permission
- 缺少的许可权。
- Code
- 指示哪个方法存在问题。
- Stack Trace
- 发生访问违例的位置。
- CodeBaseLocation
- 每个堆栈帧的详细信息。
通常,许可权和代码足以识别此问题。以下示例说明了一个报告:
Permission: app_server_root/logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission app_server_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:app_server_root/installedApps/app1/JrasFVTApp.ear/RasLib.jar } Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission app_server_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete ) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:/app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:/app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.)
Permission: /WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:/WebSphere/AppServer/installedApps/app1/JrasFVTApp.ear/RasLib.jar} Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission /WebSphere/AppServer/logs/server1/SystemOut_02.08.20_11.19.53.log delete) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:/WebSphere/AppServer/lib/securityimpl.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:/WebSphere/AppServer/lib/securityimpl.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.)
Permission: profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:profile_root/installedApps/app1/JrasFVTApp.ear/RasLib.jar } Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete ) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.) Permission: profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:profile_root/installedApps/app1/JrasFVTApp.ear/RasLib.jar} Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission profile_root/logs/server1/SystemOut_02.08.20_11.19.53.log delete) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.) Permission: profile_root /logs/server1/SystemOut_02.08.20_11.19.53.log : access denied (java.io.FilePermission profile_root /logs/server1/SystemOut_02.08.20_11.19.53.log delete) Code: com.ibm.ejs.ras.RasTestHelper$7 in {file:profile_root /installedApps/app1/JrasFVTApp.ear/RasLib.jar} Stack Trace: java.security.AccessControlException: access denied (java.io.FilePermission profile_root /logs/server1/SystemOut_02.08.20_11.19.53.log delete) at java.security.AccessControlContext.checkPermission (AccessControlContext.java(Compiled Code)) at java.security.AccessController.checkPermission (AccessController.java(Compiled Code)) at java.lang.SecurityManager.checkPermission (SecurityManager.java(Compiled Code)) . Code Base Location: com.ibm.ws.security.core.SecurityManager : file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar ClassLoader: com.ibm.ws.bootstrap.ExtClassLoader Permissions granted to CodeSource (file:app_server_root/plugins/com.ibm.ws.runtime_6.1.0.jar <no certificates> { (java.util.PropertyPermission java.vendor read); (java.util.PropertyPermission java.specification.version read); (java.util.PropertyPermission line.separator read); (java.util.PropertyPermission java.class.version read); (java.util.PropertyPermission java.specification.name read); (java.util.PropertyPermission java.vendor.url read); (java.util.PropertyPermission java.vm.version read); (java.util.PropertyPermission os.name read); (java.util.PropertyPermission os.arch read); } ( This list continues.)
其中:- app1 表示应用程序的名称。
- app_server_root 表示 WebSphere Application Server WebSphere Application Server Network Deployment 的安装根目录。
- profile_root 表示系统中特定概要文件的位置和名称。
- profile1 或 profile_name 表示概要文件的名称。
- server1 或 server_name 表示应用程序服务器的名称。
- 如果此方法是 SPI,那么检查 resources.xml 文件以确保类路径正确。
- 要确认正确装入所有策略文件,或授予每个类路径什么许可权,可使用 com.ibm.ws.security.policy.*=all=enabled 启用跟踪。所有已装入的许可权都列出在 trace.log 文件中。搜索 app.policy、was.policy 和 ra.xml 文件。要检查类路径的许可权列表,请在“有效策略”中搜索 classpath。
如果策略文件或 ra.xml 文件中有任何语法错误,那么使用策略工具更正它们。请避免手动编辑策略,因为这会导致语法错误。
- 如果许可权列为未解析,那么它不生效。验证指定的许可权名称是否正确。
- 如果 resource.xml 文件中指定的类路径不正确,那么更正它。
- 如果在策略文件或 ra.xml 文件中不存在必需的许可权,那么检查应用程序代码以查看是否需要添加此许可权。如果需要添加,那么将它添加到正确的策略文件或 ra.xml 文件。
- 如果没有对访问此资源的特定方法之外的方法授予许可权,那么修改代码需要以使用 doPrivileged 块。
如果在策略文件或 ra.xml 文件中确实存在此许可权并且正确装入了该许可权,但类路径在它的列表中仍没有许可权,那么此许可权的位置可能不正确。请仔细阅读此信息中心导航中的Java 2 安全性,以确定应在哪个策略文件或 ra.xml 文件中指定该许可权。
- permission java.io.FilePermission "${user.home}${/}.mailcap", "read";
- permission java.io.FilePermission "${user.home}${/}.mime.types", "read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mailcap", "read";
- permission java.io.FilePermission "${java.home}${/}lib${/}mime.types", "read";
由于以下异常 {1} 而出现“错误消息:CWSCJ0336E: 用户 {0} 的认证失败”
- 验证您的用户标识和密码是否正确。
- 验证注册表中是否存在用户标识。
- 验证基本专有名称 (DN) 是否正确。
- 验证用户过滤器是否正确。
- 验证绑定 DN 和绑定 DN 的密码是否正确。如果未指定绑定 DN 和密码,那么添加缺少的信息并重试。
- 验证主机名和 LDAP 类型是否正确。
错误消息:初始化安全性时发生意外的异常,collaborator.java.lang.SecurityException: AuthConfigFactory error: java.lang.ClassNotFoundException: org.apache.geronimo.components.jaspi.AuthConfigFactoryImpl
# # 缺省 JASPI 工厂实现类的标准类名。 # authconfigprovider.factory=com.ibm.ws.security.jaspi.ProviderRegistry
错误消息:SECJ8032W: 使用缺省 JASPI 工厂实现类时 AuthConfigFactory 未定义
如果未定义 JASPI 工厂实现,那么将显示此错误消息。缺省 JASPI 工厂实现已在服务器运行时中进行设置。但是,JASPI 可能无法用于客户机。
# # 缺省 JASPI 工厂实现类的标准类名。 # authconfigprovider.factory=com.ibm.ws.security.jaspi.ProviderRegistry
错误消息:SECJ0352E: 无法使用户与模式 {0} 相匹配,因为发生了以下异常 {1}
外部用户帐户存储库已损坏或不可用,并且 WebSphere Application Server 无法认证存储库中的用户名时,将显示此认证失败消息。通常,在认证错误消息后面会显示附加信息,表明问题的性质或根本原因,例如:请确保注册表中存在用户匹配的模式。如果问题仍然存在,请联系您的服务代表。
如果用户帐户存储库已损坏或 WebSphere Application Server 与外部用户帐户存储库之间的用户连接已断开,那么此附加信息可能不会提供明确的用户操作。外部用户帐户存储库(在本文档中称为存储库)可能是轻量级目录访问协议 (LDAP) 产品。- 重新启动存储库和 WebSphere Application Server。
- 测试与存储库的连接。如果连接尝试仍失败,那么可能需要重新安装存储库。
- 如果随存储库提供了诊断,那么运行诊断以避免必须重新安装存储库。注意: 如果前面的步骤不能解决问题,那么可能需要重新安装存储库。继续之前,请生成所有已配置用户和组的完整列表;重新安装之后,将需要重新填写这些字段。
- 如有必要,请重新安装已毁坏的存储库。
- 将列表中的用户和组填充到刚刚安装的存储库中。
- 重新启动存储库和 WebSphere Application Server。
- 在管理控制台中,浏览至 并选择相应的用户帐户存储库。例如,如果您正在使用独立的轻量级目录访问协议存储库,请选择“独立 LDAP 注册表”。
- 单击测试连接以确保 WebSphere Application Server 可以连接到该存储库。
密钥或令牌类型无效导致 LTPA 令牌验证失败
如果 LTPA 令牌的安全上下文反序列化失败并抛出包含消息密钥或令牌类型无效导致 LTPA 令牌验证失败的 WSSecurityException,请将 com.ibm.websphere.security.recoverContextWithNewKeys 属性设置为 true。
使用 Profile Management Tool 来创建新概要文件时生成密钥错误
使用 Profile Management Tool 或命令行 manageprofiles 实用程序创建新概要文件时,会显示一条错误消息,表明部分成功或失败。位于 install_dir/logs/manageprofiles/profile_name_create.log 文件中的错误消息可能指明 generateKeysforSingleProfile 任务或 or the generateKeysForCellProfile 服务发生错误。
概要文件创建工具和 manageprofiles 实用程序调用几个任务。创建独立应用程序服务器或 Deployment Manager 概要文件时,将调用 generateKeysForSingleProfile 任务。创建单元概要文件时,将调用 generateKeysForCellProfile 任务。这两个任务是调用 Wsadmin 命令之前的任务。虽然日志表明其中一个任务发生错误,但实际上可能是 wsadmin 命令失败导致错误,而不是安全性任务发生错误。
要确定问题的实际原因,请复审下列日志文件中提供的信息:
- install_dir/logs/manageprofiles/profile_name_create.log 文件指示失败的错误代码
- install_dir/logs/manageprofiles/profile_name/keyGeneration.log 文件
- install_dir/logs/manageprofiles/profile_name/wsadminListener.log 文件
LDAP 在其中启用了 Tivoli Access Manager 的受保护应用程序无法立即使用某些安全角色
在某些情况下,当您部署 LDAP 在其中启用了 Tivoli® Access Manager 的受保护应用程序时,可能无法立即使用某些安全角色。
"Exception: java.lang.OutOfMemoryError"
- 根据最小和最大 Java 堆大小来分配较多内存。
- 在管理控制台中,选择 。
- 选择 。
- 选择 Java 虚拟机。
- 将初始堆大小设为 512 MB,并将最大堆大小设为 1024 MB。
- 选择确定,然后选择保存。
- 重新启动 WebSphere Application Server。
- WebSphere Application Sever 处于停止状态时,请对嵌入式 Tivoli Access Manager 添加一些性能调整属性。
- 在 config/cells/CELLNAME 目录中,编辑 amwas.amjacc.template.properties 文件,在其中添加以下属性:
com.tivoli.pd.as.jacc.DBRefresh=0 com.tivoli.pd.as.jacc.AuthTableRemoteMode=yes com.tivoli.pd.as.rbpf.NoUncheckedRoles=true
重新配置嵌入式 Tivoli Access Manager 时,这很有用
- 由于已配置嵌入式 Tivoli Access Manager,因此您可以使用以上提供的属性更新所生成的配置文件。对于 ND 中的每个 WebSphere Application Server 实例(dmgr、NA 及服务器),请转至 profiles/NAME/etc/tam 目录并执行以下操作。对于每个以 amjacc.properties 结尾的文件,请添加给定的 3 个属性:
com.tivoli.pd.as.jacc.DBRefresh=0 com.tivoli.pd.as.jacc.AuthTableRemoteMode=yes com.tivoli.pd.as.rbpf.NoUncheckedRoles=true
对于每个以 pdperm.properties 结尾的文件,请将 appsvr-dbrefresh 属性更新成:appsvr-dbrefresh=0
对于每个以 authztable.pdperm.properties 结尾的文件,请将 appsvr-mode 属性更新为:appsvr-mode=remote
- 在 config/cells/CELLNAME 目录中,编辑 amwas.amjacc.template.properties 文件,在其中添加以下属性:
- 重新启动单元。
将域的领域设置为不可信后,无法使用全局安全性设置
如果从管理控制台中添加可信的域领域,但稍后决定将此领域设置为“不可信”,那么 domain-security.xml 文件中可能会生成空的 inboundTrustedAuthenticationRealm 条目。domain-security.xml 文件中此空的入站或出站可信领域定义将阻止该域使用全局安全性设置。
- 移除当前域。
- 创建新域。
- 不要将不正确的领域添加为“可信”。
更新后的全局安全性域名称重复
更新全局安全性域名后,应用程序安全域的域名也将使用相同域名进行更新
在 WebSphere Application Server V8.0 中,除了具有全局级别的实例外,您还可以在多安全域环境中的域级别配置联合存储库的唯一实例。但是,如果已在全局级别配置联合存储库用户注册表,或者配置安全域后在全局级别更改了域名,那么所有使用联合存储库的安全域的域名也将进行更新。这会导致所有使用联合存储库的域都使用在全局级别定义的联合存储库。
要解决此问题,在创建联合存储库或在全局级别更改域名后,请使用原始域名更新使用联合存储库的安全域。如果全局级别的联合存储库是在您配置安全域中的联合存储库之前配置的,那么可以避免发生此问题。
启用会话安全性功能时可能会发生错误
SESN0008E: 认证为匿名的用户已尝试访问用户 {<user>} 所拥有的会话
要解决此问题,请确保先前用户已注销,然后另一个用户再使用同一用户标识登录。

![[z/OS]](../images/ngzos.gif)
ABEND WITH ABEND EC3 REASON=020F2001
如果在安装 WebSphere Application Server for z/OS 时未立即对 zPMT 对话或 ISPF 定制对话启用安全性,那么不会完整地生成 RACF® 定义。如果稍后使用管理控制台启用安全性,那么缺少的 RACF 语句将导致 WebSphere Application Server 控制区域无法启动。请参阅 APAR PK36598 以获取有关解决此问题的更多详细信息。