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

问题现象:

两台服务器分别安装了相同版本的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应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值