[转帖]BEA-080003 java.lang.SecurityException: [Security:090398]Invalid Subject_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4798 | 回复: 0   主题: [转帖]BEA-080003 java.lang.SecurityException: [Security:090398]Invalid Subject        上一篇   下一篇 
gang
注册用户
等级:上等兵
经验:142
发帖:79
精华:0
注册:2011-12-30
状态:离线
发送短消息息给gang 加好友    发送短消息息给gang 发消息
发表于: IP:您无权察看 2015-3-16 16:36:50 | [全部帖] [楼主帖] 楼主


问题现象:

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

[html]view plaincopy北京联动北方科技有限公司北京联动北方科技有限公司


####<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)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论