BEA-080003 java.lang.SecurityException: [Security:090398]Invalid Subject

本文解决了一项技术难题,即WLS12在进行跨服务器JMS通信时偶尔出现的安全异常问题。通过详细步骤介绍了如何启用域信任并配置一致的身份验证信息来避免此类错误。
部署运行你感兴趣的模型镜像

问题现象:

两台服务器分别安装了相同版本的WLS 12(WLS a、WLS b),WLS a上部署了java web应用(非EJB);WLS b上创建jms服务,当WLS a向WLS b发送jms数据时偶尔会出现如下错误:

 

####<2013-12-10 上午06时00分42秒 CST> <Warning> <RMI> <gsv-xt-pdjhjms> <AdminServer> <ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'> <<WLS Kernel>> <> <> <1386626442532> <BEA-080003> <A RuntimeException was generated by the RMI server: weblogic.rmi.internal.BasicServerRef@125, implementation: 'weblogic.jms.frontend.FEConnectionFactoryImpl@2a26622', oid: '293', implementationClassName: 'weblogic.jms.frontend.FEConnectionFactoryImpl'
 java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators].
java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
	at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:833)
	at weblogic.security.service.SecurityServiceManager.getSealedSubjectFromWire(SecurityServiceManager.java:522)
	at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:352)
	at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:351)
	at weblogic.rmi.cluster.ClusterableServerRef.dispatch(ClusterableServerRef.java:243)
	at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:1023)
	at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:240)
	at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:888)
	at weblogic.rjvm.t3.MuxableSocketT3.dispatch(MuxableSocketT3.java:330)
	at weblogic.socket.BaseAbstractMuxableSocket.dispatch(BaseAbstractMuxableSocket.java:319)
	at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:105)
	at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
	at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:43)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:147)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:119)

 初步判断是因为weblogic跨域访问时的身份验证出错导致的。

解决方法:

启用weblogic的域信任,具体操作如下:

1.登录weblogic控制台,点击左边菜单中的域名称

2.依次点击右边选项卡中的“安全”>“一般信息”

3.点击隐藏的“高级”部分

4.勾选“启用跨域安全”

5.在“身份证明”和“确认身份证明”框中输入相同的认证信息

6.保存

注意:

1.需要分别在两台WLS服务器上作相同的操作且“身份证明“信息需设置成相同才可。

2.为确保设置后生效,重启web应用。

转载于:https://my.oschina.net/kevinky/blog/713634

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### 解决 weblogic 中 SecurityInitializationException 异常的方法 对于 `weblogic.security.SecurityInitializationException: Authentication for user wlsadm denied` 异常,可采取以下方法解决: - **修改启动脚本配置**:在域目录(如 `/opt/bea/user_projects/domains/domain7006/bin`)下的 `startWebLogic.sh` 文件中增加如下配置,然后启动: ```bash WLS_USER=wlsadm WLS_PW=对应密码 ``` 此方法通过在启动脚本中明确指定用户名和密码,绕过可能存在的认证文件问题,确保以正确的凭证启动 WebLogic。 - **修改 `boot.properties` 文件**:进入路径 `/domains/自定义的 domains 名称/servers/AdminServer/security/`,编辑 `boot.properties` 文件中的 `username` 和 `password`,改为明文的原来的密码。此方法是因为可能 `boot.properties` 文件中的用户名和密码被修改或者加密方式有问题,通过修改为正确的明文密码来解决认证问题。 - **创建 `security` 文件夹**:在创建域的路径 `..././domain/域/servers/AdminServer/` 下,使用命令 `mkdir security` 创建一个 `security` 文件夹(也可手动新建),创建该文件夹可能会解决因缺少必要的安全配置目录而导致的认证问题。 - **在 IDE 中修改密码**:若在 IDE 中启动 WebLogic,可在 `window - preferences - weblogic10.x` 下面修改密码。部分情况下,IDE 中保存的密码与实际不符会导致认证失败,通过修改 IDE 中的密码可以解决该问题。 ### 解决 `java.lang.IllegalStateException` 异常的方法 对于 `java.lang.IllegalStateException: Unable to perform operation: post construct on weblogic.security.SecurityService` 等类似异常,虽然引用中未提及具体解决方法,但通常可以从以下方面排查: - **检查服务依赖**:确保 `weblogic.security.SecurityService` 依赖的其他服务正常启动,服务依赖出现问题可能导致该异常。 - **检查配置文件**:查看与该服务相关的配置文件是否存在错误或缺失,不正确的配置可能引发此异常。 ### 解决 `IllegalArgumentException` 异常的方法 由于未给出具体的 `IllegalArgumentException` 异常信息,一般来说,该异常通常表示传递给方法的参数不合法。可以从以下方面排查: - **检查代码逻辑**:查看调用方法时传递的参数是否符合方法的要求,参数类型、范围等是否正确。 - **日志分析**:查看详细的日志信息,确定是哪个方法抛出的异常以及传递的具体参数,以便定位问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值