weblogic跨域问题

来源:互联网 发布:查看网络传销的平台 编辑:程序博客网 时间:2024/04/30 00:17

 weblogic发布项目失败,后台报错:

Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators] at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:234) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259) at weblogic.jdbc.common.internal.RmiDataSource_1035_WLStub.getConnection(Unknown Source) at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111) at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774) at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409) ... 69 more

 上网查出,原来是weblogic认为我的项目有越域(跨越)行为,为安全起见,不让成功发布。

检查相关配置文件,原来是一处jndi的url配置错误,weblogic认为项目越域。

<jee:jndi-lookup id="dataSource" jndi-name="jdbc/efr_conDS">
     <jee:environment>
          java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
          java.naming.provider.url=t3://174.34.51.67:7001
          java.naming.security.principal=weblogic
          java.naming.security.credentials=weblogic1
   </jee:environment> 
</jee:jndi-lookup> 

修改后,发布成功。

闲话一句:如果说需要发生越域行为的话,网上说需要设置分别设置两个域之间的信任,详情见网上。

原创粉丝点击