Configuring basic authentication in Jboss - java.lang.SecurityException

Hi All,
I am a jboss newbie and need to a simple username/password challenge to pop up when someone accesses my web app deployed on jboss. I was looking at UsersRolesLoginModule. I am using jboss-3.2.3 with jetty-4.2.14.
All I did was the following 3 things.
1) server/MyServer/conf/login-conf.xml
Code:
<?xml version='1.0'?>
<!DOCTYPE policy PUBLIC
"-//JBoss//DTD JBOSS Security Config 3.0//EN"
"http://www.jboss.org/j2ee/dtd/security_config.dtd">
<policy>
<application-policy name = "myUsersRolesModule">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
flag = "true" >
<module-option name="hashAlgorithm">MD5</module-option>
</login-module>
</authentication>
</application-policy>
</policy>
2) Create a users.properties file in the conf folder with the following entry.
anand=kasi.
3) Create a roles.properties file in the conf folder with the following entry
anand=admin
When Jboss starts up, I get the following exception.
22:15:35,255 ERROR [PersistenceManager] Starting failed
java.lang.SecurityException: Invalid authentication attempt, principal=null
at org.jboss.resource.connectionmanager.BaseConnectionManager2.getSubjec
t(BaseConnectionManager2.java:647)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateC
onnection(BaseConnectionManager2.java:476)
Where do I set the principal. Is that the same as username????
What am I not doing or doing wrong?? Any suggestions/pointers are highly appreciated. Any alternate solutions?? The simpler the better.
Regards.
Andy.

You missing a option
<module-option name="unauthenticatedIdentity">Anonymous</module-option>
.

Similar Messages

  • Java.lang.SecurityException: Authentication for user system denied in realm wl_realm

    I am experiencing this error when a servlet or JSP is preloaded on the web
    server and the init method of the preloaded item results in a call to the
    app server. If I don't preload and then manually invoke the JSP or servlet
    after the web server completely loads the call to the app server does not
    produce the exception. The only security differences between the web and
    app servers are the console and system passwords. I can fix the problem by
    making the passwords (system and console) the same across the board, but
    find it hard to believe that this is the true solution. I would prefer
    sticking with the default security settings.
    I've poured through hundreds of messages. I can find similar problems but
    not this exact problem.
    Any ideas would truly be appreciated!
    More information:...
    App and Web server are both wls 6.1.1.0 running on the same SUN Solaris box.
    Both are using the basic, out of the box, security.
    The App server has SSL disabled.
    The exception reported in the app server's log is:
    java.lang.SecurityException: Authentication for user system denied in realm
    wl_realm
    at weblogic.security.acl.Realm.authenticate(Realm.java:212)
    at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233)
    at
    weblogic.security.acl.internal.Security.authenticate(Security.java:125)
    at weblogic.security.acl.internal.Security.verify(Security.java:87)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:235)
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
    2)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    The exception reported in the web server's log is:
    java.lang.SecurityException: Authentication for user system denied in realm
    wl_realm
    at
    weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.
    java:85)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
    :255)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
    :222)
    at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
    at $Proxy54.lookup(Unknown Source)
    at
    weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:323)
    at javax.naming.InitialContext.lookup(InitialContext.java:350)
    at
    com.qwest.tmmt.manager.client.MDMAdapter.getEJBHome(MDMAdapter.java:197)
    at
    com.qwest.tmmt.manager.client.MDMAdapter.<init>(MDMAdapter.java:64)
    at
    com.qwest.tmmt.manager.client.ManagerFactory.createMetaDataManager(ManagerFa
    ctory.java:305)
    at
    com.qwest.insite.util.ClientMetaDataCache.<init>(ClientMetaDataCache.java:53
    at
    com.qwest.insite.util.ClientMetaDataCache.getInstance(ClientMetaDataCache.ja
    va:106)
    at
    com.qwest.insite.metadata.startup.MetaDataServlet.init(MetaDataServlet.java:
    30)
    at
    weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java
    :700)
    at
    weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.ja
    va:643)
    at
    weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav
    a:588)
    at
    weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletC
    ontext.java:2203)
    at
    weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServlet
    Context.java:2147)
    at
    weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.jav
    a:884)
    at
    weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.j
    ava:807)
    at
    weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:421)
    at weblogic.j2ee.WebAppComponent.deploy(WebAppComponent.java:74)
    at weblogic.j2ee.Application.addComponent(Application.java:160)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:329)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:144)
    at
    weblogic.management.mbeans.custom.WebServer.addWebDeployment(WebServer.java:
    76)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
    .java:608)
    at
    weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
    92)
    at
    weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:352)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
    at $Proxy33.addWebDeployment(Unknown Source)
    at
    weblogic.management.configuration.WebServerMBean_CachingStub.addWebDeploymen
    t(WebServerMBean_CachingStub.java:1094)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:315)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployment
    Target.java:279)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(D
    eploymentTarget.java:233)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deploym
    entTarget.java:193)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
    .java:608)
    at
    weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
    92)
    at
    weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:352)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
    at $Proxy32.updateDeployments(Unknown Source)
    at
    weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(
    ServerMBean_CachingStub.java:2734)
    at
    weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(Appl
    icationManager.java:362)
    at
    weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManage
    r.java:154)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
    .java:608)
    at
    weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
    92)
    at
    weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:352)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
    at $Proxy45.start(Unknown Source)
    at
    weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(
    ApplicationManagerMBean_CachingStub.java:480)
    at
    weblogic.management.Admin.startApplicationManager(Admin.java:1151)
    at weblogic.management.Admin.finish(Admin.java:570)
    at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:506)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:203)
    at weblogic.Server.main(Server.java:35)
    Thanks,
    Jed Zimmer

    You're correct. I meant the DOMAIN_SYSTEM_PASSWORD password in my
    <domain-name>domain.ksh file. The DOMAIN_SYSTEM_PASSWORD value (if
    specified) has to match the system user's password or else the server will
    not start/stop.
    I have determined more since my post. A startup class also produces the
    same error. I have minimized my environments as follows and still receive
    the exception, and a soon as I synchronize the system users' passwords on
    the app/web server the problem goes away. Or, I can keep the passwords
    different and just not access the app server EJBs until after the web server
    finished loading, which also causes the error to go away. I'm just confused
    about what I might be doing wrong.
    Steps to produce the error:
    App server:
    - Installed from 6.1.1.0 from scratch and started it up.
    - Changed the system user's password from the admin console, persisting the
    changes.
    - Modified logging settings to see more info in the log files.
    - Disabled instrument stack traces.
    - Stopped/Started the app server
    Web server:
    - Installed from 6.1.1.0 from scratch and started it up.
    - Modified logging settings to see more info in the log files.
    - Disabled instrument stack traces.
    - Added a servlet to the DefaultWebApp_insiteserver application
    - specified name and class
    - the load on startup setting defaulted to zero, which will cause the
    preloading
    - Added 3 jar files to the classpath to support the EJB call
    - Stopped/Started the web server
    When the web server loads the servlet loads and tries to locate the EJB on
    the app server. The app server throws the security exception. The app/web
    servers are both running on the same SUN box, have the same IP address
    (different ports) and I'm using non-SSL. Each server is it's own WLS
    environment. The only installed file that is shared it the
    weblogic_domain_registry.dat file in the root directory. As for security,
    I'm doing nothing except changing one password (system user on the app
    server).
    I then tried to manually upgrade the app/web servers to 6.1.2.0 by updating
    the WEBLOGIC_ROOT in the respective xxxxdomain.ksh files. Same problem.
    I then cleanly reinstalled the app/web servers using version 6.1.2.0 and
    configured as above. Same problem.
    Let me know if I need to provide additional details.
    Thanks,
    Jed Zimmer
    "Joseph Nguyen" <[email protected]> wrote in message
    news:[email protected]...
    >
    "Jed Zimmer" <[email protected]> wrote in message
    news:[email protected]...
    I am experiencing this error when a servlet or JSP is preloaded on the
    web
    server and the init method of the preloaded item results in a call tothe
    app server. If I don't preload and then manually invoke the JSP orservlet
    after the web server completely loads the call to the app server does
    not
    produce the exception. The only security differences between the weband
    app servers are the console and system passwords. I can fix the problemby
    making the passwords (system and console) the same across the board, but
    find it hard to believe that this is the true solutionI don't quite understand what you mean by "console" password? Are you
    talking about the admin console? If so then it's confusing because youhave
    to log into the console using the system user. If you can clarify morehere
    it would great.
    Joseph Nguyen
    BEA Support
    . I would prefer
    sticking with the default security settings.
    I've poured through hundreds of messages. I can find similar problems
    but
    not this exact problem.
    Any ideas would truly be appreciated!
    More information:...
    App and Web server are both wls 6.1.1.0 running on the same SUN Solarisbox.
    Both are using the basic, out of the box, security.
    The App server has SSL disabled.
    The exception reported in the app server's log is:
    java.lang.SecurityException: Authentication for user system denied inrealm
    wl_realm
    at weblogic.security.acl.Realm.authenticate(Realm.java:212)
    atweblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233)
    at
    weblogic.security.acl.internal.Security.authenticate(Security.java:125)
    atweblogic.security.acl.internal.Security.verify(Security.java:87)
    at
    weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:235)
    at
    weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
    2)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    The exception reported in the web server's log is:
    java.lang.SecurityException: Authentication for user system denied inrealm
    wl_realm
    at
    weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.
    java:85)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
    :255)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java
    :222)
    at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
    at $Proxy54.lookup(Unknown Source)
    at
    weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:323)
    at javax.naming.InitialContext.lookup(InitialContext.java:350)
    at
    com.qwest.tmmt.manager.client.MDMAdapter.getEJBHome(MDMAdapter.java:197)
    at
    com.qwest.tmmt.manager.client.MDMAdapter.<init>(MDMAdapter.java:64)
    at
    com.qwest.tmmt.manager.client.ManagerFactory.createMetaDataManager(ManagerFa
    ctory.java:305)
    at
    com.qwest.insite.util.ClientMetaDataCache.<init>(ClientMetaDataCache.java:53
    at
    com.qwest.insite.util.ClientMetaDataCache.getInstance(ClientMetaDataCache.ja
    va:106)
    at
    com.qwest.insite.metadata.startup.MetaDataServlet.init(MetaDataServlet.java:
    30)
    at
    weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java
    :700)
    at
    weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.ja
    va:643)
    at
    weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav
    a:588)
    at
    weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletC
    ontext.java:2203)
    at
    weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServlet
    Context.java:2147)
    at
    weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.jav
    a:884)
    at
    weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.j
    ava:807)
    at
    weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:421)
    at weblogic.j2ee.WebAppComponent.deploy(WebAppComponent.java:74)
    at weblogic.j2ee.Application.addComponent(Application.java:160)
    at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:329)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:144)
    at
    weblogic.management.mbeans.custom.WebServer.addWebDeployment(WebServer.java:
    76)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
    .java:608)
    at
    weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
    92)
    at
    weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:352)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
    at $Proxy33.addWebDeployment(Unknown Source)
    at
    weblogic.management.configuration.WebServerMBean_CachingStub.addWebDeploymen
    t(WebServerMBean_CachingStub.java:1094)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
    arget.java:315)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployment
    Target.java:279)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(D
    eploymentTarget.java:233)
    at
    weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deploym
    entTarget.java:193)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
    .java:608)
    at
    weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
    92)
    at
    weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:352)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
    at $Proxy32.updateDeployments(Unknown Source)
    at
    weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(
    ServerMBean_CachingStub.java:2734)
    at
    weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(Appl
    icationManager.java:362)
    at
    weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManage
    r.java:154)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
    .java:608)
    at
    weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:5
    92)
    at
    weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
    nImpl.java:352)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at
    com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
    at
    weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
    at $Proxy45.start(Unknown Source)
    at
    weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(
    ApplicationManagerMBean_CachingStub.java:480)
    at
    weblogic.management.Admin.startApplicationManager(Admin.java:1151)
    at weblogic.management.Admin.finish(Admin.java:570)
    at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:506)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:203)
    at weblogic.Server.main(Server.java:35)
    Thanks,
    Jed Zimmer

  • Java.lang.SecurityException: Authentication for user system denied in realm wl_realm Error.

              Getting this security exception when trying to pull a message from one weblogic
              instance JMS queue, and sending the message (via a MDB) to another machine's JMS
              queue.
              Ex. Here's the scenario.
              Two Windows2000Server machines,
              one at ip ... xxx.xxx.x.16,
              second machine at ... xxx.xxx.x.17.
              MDB pulls message off of a JMS queue on 16. MDB sends the message to .17 box.
              ON the .17 machine (the receiver) I get the following exception
              weblogic.transaction.internal.CoordinatorImpl@31406b>
              java.lang.SecurityException: Authentication for user system denied in realm wl_realm
                   at weblogic.security.acl.Realm.authenticate(Realm.java:212)
                   at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233)
                   at weblogic.security.acl.internal.Security.authenticate(Security.java:125)
                   at weblogic.security.acl.internal.Security.verify(Security.java:87)
                   at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.java:76)
                   at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:17)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              ON the sending maching .16, I get the following exception.
              ####<Apr 3, 2002 9:46:24 AM CST> <Error> <RJVM> <testweblogic> <OptiSoftAppServer>
              <ExecuteThread: '96' for queue: 'default'> <> <> <000000> <Unsolicited error response
              for: '-1'>
              The messages appear to show up on the destination machine, but are these error
              messages valid, or just bogus?
              Thanks,
              Eric.
              

    Why is that? Your suggestion worked but I don't understand why.
              When our MDB on machineA did the JNDI lookup to MachineB we set the
              credentials to a valid user/password on MachineB.
              My speculation: Since the MDB on machineA is already in a transaction
              any other JNDI calls use the credentials for the MDB's transactions,
              ignoring any other credentials we might try to set explicitly. If my
              speculation is correct then that would explain by the passwords for the
              user "system" would have to be the same between servers.
              Is there a good place to read up on this?
              Thanks
              Tom
              Rajesh Mirchandani wrote:
              > Make sure you have the same system password for the 2 instances of WLS on seperate boxes.
              >
              > Tom Barnes wrote:
              >
              >
              >>Or post to the EJB newsgroup (which "owns" MDBs).
              >>
              >>Tom Barnes wrote:
              >>
              >>
              >>>I think there is a username/password field configurable in the MDB descriptor that
              >>>might help here??? Other than that, I suggest posting to the security newsgroup.
              >>>
              >>>Tom
              >>>
              >>>Eric Babin wrote:
              >>>
              >>>
              >>>>Getting this security exception when trying to pull a message from one weblogic
              >>>>instance JMS queue, and sending the message (via a MDB) to another machine's JMS
              >>>>queue.
              >>>>
              >>>>Ex. Here's the scenario.
              >>>>
              >>>> Two Windows2000Server machines,
              >>>> one at ip ... xxx.xxx.x.16,
              >>>> second machine at ... xxx.xxx.x.17.
              >>>>
              >>>> MDB pulls message off of a JMS queue on 16. MDB sends the message to .17 box.
              >>>>
              >>>>
              >>>>ON the .17 machine (the receiver) I get the following exception
              >>>>
              >>>>weblogic.transaction.internal.CoordinatorImpl@31406b>
              >>>>java.lang.SecurityException: Authentication for user system denied in realm wl_realm
              >>>> at weblogic.security.acl.Realm.authenticate(Realm.java:212)
              >>>> at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233)
              >>>> at weblogic.security.acl.internal.Security.authenticate(Security.java:125)
              >>>> at weblogic.security.acl.internal.Security.verify(Security.java:87)
              >>>> at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.java:76)
              >>>> at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:17)
              >>>> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
              >>>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >>>>
              >>>>ON the sending maching .16, I get the following exception.
              >>>>
              >>>>####<Apr 3, 2002 9:46:24 AM CST> <Error> <RJVM> <testweblogic> <OptiSoftAppServer>
              >>>><ExecuteThread: '96' for queue: 'default'> <> <> <000000> <Unsolicited error response
              >>>>for: '-1'>
              >>>>
              >>>>The messages appear to show up on the destination machine, but are these error
              >>>>messages valid, or just bogus?
              >>>>
              >>>>Thanks,
              >>>>
              >>>>Eric.
              >>>>
              >
              > --
              > Rajesh Mirchandani
              > Developer Relations Engineer
              > BEA Support
              >
              >
              >
              

  • Java.lang.SecurityException: Authentication for user system denied in realm weblogic

    I am looking for some help to deploy the application in weblogic6.0.
    This is what i did during the application deployment.
    Create a new directory under config as a new application.
    D:\bea\wlserver6.0\config\test
    under test created two other directories applications and logs.
    Under the applications directory copied .ear and .war files.
    Under the test i copied config.xml, all the *.pem starttest.cmd, fileRealam.properties
    files. Modified the config.xml with my application, domain and the server. Modified
    the settest.cmd with the new domain and server name.
    when i do startup, it is prompting for the password and i entered what ever i mentioned
    during the installation.
    And getting the following error.
    Thanks alot for any suggestions.
    D:\bea\wlserver6.0\config\test>startTest.cmd
    D:\bea\wlserver6.0>set PATH=.\bin;D:\bea\jdk130\bin;C:\RATIONAL\RATION~1\NUTCROO
    T\bin;C:\RATIONAL\RATION~1\NUTCROOT\bin\x11;C:\RATIONAL\RATION~1\NUTCROOT\mksnt;
    C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Dell\Resoluti
    on Assistant\Common\bin;C:\PROGRA~1\MICROS~4\Office;C:\PROGRA~1\ULTRAE~1;C:\Rati
    onal\common;C:\Rational\Rational Test;C:\jdk1.3\bin;C:\Ant\bin;
    D:\bea\wlserver6.0>set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar
    D:\bea\wlserver6.0>D:\bea\jdk130\bin\java -hotspot -ms64m -mx64m -classpath .;.\
    lib\weblogic_sp.jar;.\lib\weblogic.jar -Dweblogic.Domain=test -Dweblogic.Name=te
    stServer -Dbea.home=D:\bea -Dcloudscape.system.home=./samples/eval/cloudscape/da
    ta -Djava.security.policy==D:\bea\wlserver6.0/lib/weblogic.policy weblogic.Serve
    r
    Enter password to boot weblogic server:password
    Starting WebLogic Server ....
    <Feb 14, 2001 12:13:04 PM EST> <Notice> <Management> <Loading configuration file
    .\config\test\config.xml ...>
    <Feb 14, 2001 12:13:06 PM EST> <Info> <Logging> <Only log messages of severity "
    Error" or worse will be displayed in this window. This can be changed at Admin C
    onsole> test> Servers> testServer> Logging> Debugging> Stdout severity threshold
    >
    <Feb 14, 2001 12:13:08 PM EST> <Emergency> <Server> <Unable to initialize the se
    rver: 'Fatal initialization exception
    Throwable: java.lang.SecurityException: Authentication for user system denied in
    realm weblogic
    java.lang.SecurityException: Authentication for user system denied in realm webl
    ogic
    at weblogic.security.acl.Realm.authenticate(Realm.java:209)
    at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:229)
    at weblogic.security.acl.internal.Security.authenticate(Security.java:11
    3)
    at weblogic.security.SecurityService.initializeSuid(SecurityService.java
    :293)
    at weblogic.security.SecurityService.initialize(SecurityService.java:123
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:343)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:169)
    at weblogic.Server.main(Server.java:35)
    '>
    The WebLogic Server did not start up properly.
    Exception raised: java.lang.SecurityException: Authentication for user system de
    nied in realm weblogic
    java.lang.SecurityException: Authentication for user system denied in realm webl
    ogic
    at weblogic.security.acl.Realm.authenticate(Realm.java:209)
    at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:229)
    at weblogic.security.acl.internal.Security.authenticate(Security.java:11
    3)
    at weblogic.security.SecurityService.initializeSuid(SecurityService.java
    :293)
    at weblogic.security.SecurityService.initialize(SecurityService.java:123
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:343)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:169)
    at weblogic.Server.main(Server.java:35)
    Reason: Fatal initialization exception
    D:\bea\wlserver6.0>goto finish
    D:\bea\wlserver6.0>cd config\test
    D:\bea\wlserver6.0\config\test>ENDLOCAL
    D:\bea\wlserver6.0\config\test>

    Seen this, may give a clue?
    Server Known Problems Change Request Number Description
    042556
    The weblogic.Admin command now requires the user and password options. For example:
    java weblogic.Admin -username system -password gumby1234
    The username "system" is required for most functions (for example: VERSION). If
    you do not specify -username system, you will get the following error:
    Exception in thread "main" java.lang.SecurityException: Authentication for user
    system denied in realm weblogic
    <<no stack trace available>>
    "lazar" <[email protected]> wrote:
    >
    I would also like to know, if there is a fix for it.
    Thanks
    Lazar
    Greg Layton <[email protected]> wrote:
    Did you ever get an answer to this. If so could you share it with me.ThanksGreg

  • Java.lang.SecurityException: Authentication for user guest denied in realm wl_realm

    Hi,
    I am using WL60SP2 on Windows NT 4.0.
    I am trying to call a bean from my startup class. The code is as follows
    home = lookupHome();
    messageSubscriber = (MessageSubscriber) narrow(home.create(),
    MessageSubscriber.class);
    Right at this point the Weblogic server is throwing the following error.
    java.lang.SecurityException: Authentication for user guest denied in
    realm wl_realm
    <<no stack trace available>>
    I know this has something to do with the security. In WL50 I would have
    gone to the weblogic.policy file to fix it. With WL60 I know I have to
    change something on the console but am not sure.
    Please help.
    Thanks
    Raj

    Go into the console and make sure the GuestDisabled property = false
    http://e-docs.bea.com/wls/docs61/////ConsoleHelp/security.html
    Joe Jerry
    Raj Kathlesar wrote:
    Hi,
    I am using WL60SP2 on Windows NT 4.0.
    I am trying to call a bean from my startup class. The code is as follows
    home = lookupHome();
    messageSubscriber = (MessageSubscriber) narrow(home.create(),
    MessageSubscriber.class);
    Right at this point the Weblogic server is throwing the following error.
    java.lang.SecurityException: Authentication for user guest denied in
    realm wl_realm
    <<no stack trace available>>
    I know this has something to do with the security. In WL50 I would have
    gone to the weblogic.policy file to fix it. With WL60 I know I have to
    change something on the console but am not sure.
    Please help.
    Thanks
    Raj

  • Java.lang.SecurityException: Authentication for user null denied in realm

    Hello,
    We have the following exceptionj on WLS 6.1 SP3 on Win2K:
    javax.naming.AuthenticationException. Root exception is
    java.lang.SecurityException: Authentication for user null denied in realm
    weblogic
    at weblogic.security.acl.Realm.authenticate(Realm.java:212)
    at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233)
    at
    weblogic.security.acl.internal.Security.authenticate(Security.java:135)
    at
    weblogic.jndi.WLInitialContextFactoryDelegate.pushUser(WLInitialContextFactoryDelegate.java:518)
    at
    weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:362)
    at
    weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:334)
    at
    weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:211)
    at
    weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:149)
    at
    javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:660)
    at
    javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:241)
    at javax.naming.InitialContext.init(InitialContext.java:217)
    at javax.naming.InitialContext.<init>(InitialContext.java:173)
    at
    And it seems that this exception happens after the introduction of a JAAS module
    for an external call.
    What strikes me is that the WLS samples use System.setProperty... and I was wondering
    if this could be the cause of our problem, because the rest of the application
    does not use JAAS, and that may be it screws up the realm with WLS....
    Any idea?
    Cheers,
    Thierry

    Hello,
    We have the following exceptionj on WLS 6.1 SP3 on Win2K:
    javax.naming.AuthenticationException. Root exception is
    java.lang.SecurityException: Authentication for user null denied in realm
    weblogic
    at weblogic.security.acl.Realm.authenticate(Realm.java:212)
    at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233)
    at
    weblogic.security.acl.internal.Security.authenticate(Security.java:135)
    at
    weblogic.jndi.WLInitialContextFactoryDelegate.pushUser(WLInitialContextFactoryDelegate.java:518)
    at
    weblogic.jndi.WLInitialContextFactoryDelegate.newContext(WLInitialContextFactoryDelegate.java:362)
    at
    weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:334)
    at
    weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:211)
    at
    weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:149)
    at
    javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:660)
    at
    javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:241)
    at javax.naming.InitialContext.init(InitialContext.java:217)
    at javax.naming.InitialContext.<init>(InitialContext.java:173)
    at
    And it seems that this exception happens after the introduction of a JAAS module
    for an external call.
    What strikes me is that the WLS samples use System.setProperty... and I was wondering
    if this could be the cause of our problem, because the rest of the application
    does not use JAAS, and that may be it screws up the realm with WLS....
    Any idea?
    Cheers,
    Thierry

  • Java.lang.SecurityException: Authentication for user test1 denied in realm wl_realm

    Environment: WLS61 SP2
    Two WLS61 servers on different machines. User test1 is authenticated against LDAP
    on server_1, then tries
    to execute a class (from JSP) that calls EJB on server_2. The environment properties
    for the call to EJB on server_2 to are setup as follows (Note that user test2 is
    used to call EJB on server_2. User test2 exists in the wl_realm on server2):
    env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    env.put(Context.PROVIDER_URL, "t3://server2:7001");
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, "test2");
    env.put(Context.SECURITY_CREDENTIALS, "somepass");
    The call results in the following exception raised on server_2. Why is test1 id used
    if test2 is explicitly specified for the call? User test1 does not exist on server_2.
    <Jul 13, 2002 11:37:31 AM EDT> <Warning> <Dispatcher> <RuntimeException thrown by
    rmi server: 'weblo
    gic.rmi.cluster.ClusterableServerRef@111 - jvmid: '4783591120128354231S:xxx.xxx.xxx.xxx:[7001,7001,7002,7
    002,7001,7002,-1]:mydomain:myserver', oid: '271', implementation: '[BaseEJBObject]
    home: c
    om.test.TestEJB_jvjalv_HomeImpl@7583b9''
    java.lang.SecurityException: Authentication for user test1 denied in realm wl_realm
    at weblogic.security.acl.Realm.authenticate(Realm.java:212)
    at weblogic.security.acl.Realm.getAuthenticatedName(Realm.java:233)
    at weblogic.security.acl.internal.Security.authenticate(Security.java:125)
    at weblogic.security.acl.internal.Security.verify(Security.java:87)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:237)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

    If you are using JNDI authentication, make sure you close the context before
    you get another context.
    In WLS, stack of authenticated users will be maintained per thread. Now when
    user is authenticated, it will be pushed into the stack. When you close the
    context it will be popped out. In your case it seems like somehow test1 user's
    idenitity is set on the thread which is calling the EJB on server2.
    use weblogic.security.acl.Security.getCurrentUser() to get the current
    user associated with the thread.
    I hope this helps.
    -utpal

  • Javax.naming.AuthenticationException.  Root exception is java.lang.SecurityException: Authentication for user system denied in realm weblogic

    We have started getting the above error message in a system that has worked happily
    for the past 6 months or so (and continues to work happily from our disaster recovery
    environment). I should probably add that this occurs when we are attempting to
    write to the database via the connection pool.
    Anyone have any ideas?
    Thanks
    Andrew
    The full stack trace is
    javax.naming.AuthenticationException. Root exception is java.lang.SecurityException:
    Authentication for user system denied in realm weblogic
         <<no stack trace available>>
    31-Jan-02 00:04:41 GMT Warning Adapter RuntimeException
    thrown by rmi server(class com.esure.ibis.a
    ccesslayer.sb.useraccess.UserAccessBeanEOImpl)
    [265127279722
    6064825S:hfxesure17:[7005,7005,7002,7002,7005,7002,-1]:esure
    prdwls/296]: [BaseEJBObject]
    home: com.esure.ibis.accesslaye
    r.sb.useraccess.UserAccessBeanHomeImpl@4b741e
    com.esure.ibis.util.IbisException: NamingException occurred in UserAccess Session
    Bean::validateUser()
         at com.esure.ibis.accesslayer.sb.useraccess.UserAccessBean.validateUser(UserAccessBean.java:192)
         at com.esure.ibis.accesslayer.sb.useraccess.UserAccessBeanImpl.validateUser(UserAccessBeanImpl.java:110)
         at com.esure.ibis.accesslayer.sb.useraccess.UserAccessBeanEOImpl.validateUser(UserAccessBeanEOImpl.java:31)
         at com.esure.ibis.accesslayer.sb.useraccess.UserAccessBeanEOImpl_WLSkel.invoke(UserAccessBeanEOImpl_WLSkel.java:202)
         at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:373)
         at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:128)
         at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:237)
         at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.java:118)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:17)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

    We have started getting the above error message in a system that has worked happily
    for the past 6 months or so (and continues to work happily from our disaster recovery
    environment). I should probably add that this occurs when we are attempting to
    write to the database via the connection pool.
    Anyone have any ideas?
    Thanks
    Andrew
    The full stack trace is
    javax.naming.AuthenticationException. Root exception is java.lang.SecurityException:
    Authentication for user system denied in realm weblogic
         <<no stack trace available>>
    31-Jan-02 00:04:41 GMT Warning Adapter RuntimeException
    thrown by rmi server(class com.esure.ibis.a
    ccesslayer.sb.useraccess.UserAccessBeanEOImpl)
    [265127279722
    6064825S:hfxesure17:[7005,7005,7002,7002,7005,7002,-1]:esure
    prdwls/296]: [BaseEJBObject]
    home: com.esure.ibis.accesslaye
    r.sb.useraccess.UserAccessBeanHomeImpl@4b741e
    com.esure.ibis.util.IbisException: NamingException occurred in UserAccess Session
    Bean::validateUser()
         at com.esure.ibis.accesslayer.sb.useraccess.UserAccessBean.validateUser(UserAccessBean.java:192)
         at com.esure.ibis.accesslayer.sb.useraccess.UserAccessBeanImpl.validateUser(UserAccessBeanImpl.java:110)
         at com.esure.ibis.accesslayer.sb.useraccess.UserAccessBeanEOImpl.validateUser(UserAccessBeanEOImpl.java:31)
         at com.esure.ibis.accesslayer.sb.useraccess.UserAccessBeanEOImpl_WLSkel.invoke(UserAccessBeanEOImpl_WLSkel.java:202)
         at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:373)
         at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:128)
         at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.java:237)
         at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestHandler.java:118)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:17)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

  • Java.lang.SecurityException: Authentication denied: Boot identity not valid

    Hi,
    When I try to start up the WebLogic server by running a startup script
    in the WebLogic server root directory, I am getting the following
    error:
    <Apr 23, 2003 1:15:11 PM EDT> <Critical> <WebLogicServer> <000364>
    <Server failed during initialization.
    Exception:java.lang.SecurityException: Authentication denied: Boot
    identity not valid
    java.lang.SecurityException: Authentication denied: Boot identity not
    valid
    at weblogic.security.service.SecurityServiceManager.doBootAuthorization(SecurityServiceManager.java:1074)
    at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1216)
    at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:723)
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:594)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:282)
    at weblogic.Server.main(Server.java:32)
    >
    <Apr 23, 2003 1:15:11 PM EDT> <Emergency> <WebLogicServer> <000342>
    <Unable to initialize the server: Fatal initialization exception
    Throwable: java.lang.SecurityException: Authentication denied: Boot
    identity not valid
    java.lang.SecurityException: Authentication denied: Boot identity not
    valid
    at weblogic.security.service.SecurityServiceManager.doBootAuthorization(SecurityServiceManager.java:1074)
    at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1216)
    at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:723)
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:594)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:282)
    at weblogic.Server.main(Server.java:32)
    >
    The WebLogic Server did not start up properly.
    Exception raised:
    java.lang.SecurityException: Authentication denied: Boot identity not
    valid
    at weblogic.security.service.SecurityServiceManager.doBootAuthorization(SecurityServiceManager.java:1074)
    at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1216)
    at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:723)
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:594)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:282)
    at weblogic.Server.main(Server.java:32)
    Reason: Fatal initialization exception
    Throwable: java.lang.SecurityException: Authentication denied: Boot
    identity not valid
    java.lang.SecurityException: Authentication denied: Boot identity not
    valid
    at weblogic.security.service.SecurityServiceManager.doBootAuthorization(SecurityServiceManager.java:1074)
    at weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:1216)
    at weblogic.t3.srvr.T3Srvr.initialize1(T3Srvr.java:723)
    at weblogic.t3.srvr.T3Srvr.initialize(T3Srvr.java:594)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:282)
    at weblogic.Server.main(Server.java:32)
    I am also pasting below the source code of the startup script that I
    am using to start WebLogic server:
    #!/bin/sh
    # This script is used to start WebLogic Server.
    # To create your own start script for your domain, simply set the
    SERVER_NAME
    # variable to your server name then call this script from your domain
    # directory.
    # This script sets the following variables before starting WebLogic
    Server:
    # WL_HOME - The root directory of your WebLogic installation
    # JAVA_HOME - Location of the version of Java used to start
    WebLogic
    # Server. This variable must point to the root
    directory of a
    # JDK installation and will be set for you by the
    installer.
    # See the WebLogic platform support page
    # (http://e-docs.bea.com/wls/platforms/index.html)
    for an up-to-date list of
    # supported JVMs on your platform.
    # PATH - Adds the JDK and WebLogic directories to the system
    path.
    # CLASSPATH - Adds the JDK and WebLogic jars to the classpath.
    # JAVA_OPTIONS - Java command-line options for running the server.
    # Other variables that startWLS takes are:
    # ADMIN_URL - If this variable is set, the server started will be
    a
    # managed server, and will look to the url specified
    (i.e.
    # http://localhost:7001) as the admin server.
    # WLS_USER - Admin username for server startup
    # WLS_PW - Cleartext password for server startup
    # STARTMODE - Set to true for production mode servers, false for
    # development mode
    # JAVA_OPTIONS - Java command-line options for running the server.
    (These
    # will be tagged on to the end of the JAVA_VM and
    MEM_ARGS)
    # JAVA_VM - The java arg specifying the VM to run. (i.e.
    -server,
    # -hotspot, etc.)
    # MEM_ARGS - The variable to override the standard memory
    arguments
    # passed to java
    # PRE_CLASSPATH - Path style variable to be added to the beginning of
    the
    # CLASSPATH
    # POST_CLASSPATH - Path style variable to be added to the end of the
    # CLASSPATH
    # PRE_PATH - Path style variable to be added to the beginning of
    the
    # PATH
    # POST_PATH - Path style variable to be added to the end of the
    PATH
    # Alternately, this script will take the first two positional
    parameters and
    # set them to SERVER_NAME and ADMIN_URL. For instance, you could call
    this
    # script: "sh startWLS.sh myserver http://localhost:7001" to start a
    # managed server named myserver, or just "sh startWLS.sh myserver"
    # to start a server named myserver.
    # jDriver for Oracle users: This script assumes that native libraries
    required
    # for jDriver for Oracle have been installed in the proper location
    and that
    # your os specific library path variable (i.e.
    LD_LIBRARY_PATH/solaris,
    # SHLIB_PATH/hpux, etc...) has been set appropriately. Also note that
    this
    # script defaults to the oci817_8 version of the shared libraries. If
    this is
    # not the version you need, please adjust the library path variable
    # accordingly.
    # For additional information, refer to the WebLogic Server
    Administration Guide
    # (http://e-docs.bea.com/wls/docs70/adminguide/startstop.html).
    WL_HOME="/usr/local/bea/weblogic700"
    JAVA_HOME="/usr/local/bea/jdk131_06"
    . ${WL_HOME}/common/bin/commEnv.sh
    # Check that the WebLogic classes are where we expect them to be
    if [ ! -f "${WL_HOME}/server/lib/weblogic.jar" ]; then
    echo
    echo "The WebLogic Server wasn't found in directory
    ${WL_HOME}/server."
    echo "Please edit your script so that the WL_HOME variable points"
    echo "to the WebLogic installation directory."
    # Check that java is where we expect it to be
    elif [ ! -d "${JAVA_HOME}/bin" ]; then
    echo
    echo "The JDK wasn't found in directory ${JAVA_HOME}."
    echo "Please edit your script so that the JAVA_HOME variable"
    echo "points to the location of your JDK."
    else
    # Grab some file descriptors.
    if [ ! -n "`uname -s |grep -i cygwin || uname -s |grep -i windows_nt`"
    ]; then
    maxfiles=`ulimit -H -n`
    if [ !$? -a "${maxfiles}" != 1024 ]; then
    if [ "${maxfiles}" = "unlimited" ]; then
    maxfiles=1025
    fi
    if [ "${maxfiles}" -lt 1024 ]; then
    ulimit -n ${maxfiles}
    else
    ulimit -n 1024
    fi
    fi
    fi
    # Set first two positional parameters to SERVER_NAME and ADMIN_URL
    if [ -n "${1}" -a "${SERVER_NAME}" = "" ]; then
    SERVER_NAME="${1}"
    fi
    if [ -n "${2}" -a "${ADMIN_URL}" = "" ]; then
    ADMIN_URL="${2}"
    fi
    # Figure out how to use our shared libraries
    case `uname -s` in
    AIX)
    if [ -n "${LIBPATH}" ]; then
    LIBPATH="${LIBPATH}:${WL_HOME}/server/lib/aix:${WL_HOME}/server/lib/aix/oci817_8"
    else
    LIBPATH="${WL_HOME}/server/lib/aix:${WL_HOME}/server/lib/aix/oci817_8"
    fi
    PATH="${WL_HOME}/server/lib/aix:${PATH}"
    export LIBPATH PATH
    export AIXTHREAD_SCOPE=S
    export AIXTHREAD_MUTEX_DEBUG=OFF
    export AIXTHREAD_RWLOCK_DEBUG=OFF
    export AIXTHREAD_COND_DEBUG=OFF
    echo "LIBPATH=${LIBPATH}"
    HP-UX)
    if [ -n "${SHLIB_PATH}" ]; then
    SHLIB_PATH="${SHLIB_PATH}:${WL_HOME}/server/lib/hpux11:${WL_HOME}/server/lib/hpux11/oci817_8"
    else
    SHLIB_PATH="${WL_HOME}/server/lib/hpux11:${WL_HOME}/server/lib/hpux11/oci817_8"
    fi
    PATH="${WL_HOME}/server/lib/hpux11:${PATH}"
    export SHLIB_PATH PATH
    echo "SHLIB_PATH=${SHLIB_PATH}"
    IRIX)
    if [ -n "${LD_LIBRARY_PATH}" ]; then
    LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${WL_HOME}/server/lib/irix"
    else
    LD_LIBRARY_PATH="${WL_HOME}/server/lib/irix"
    fi
    PATH="${WL_HOME}/server/lib/irix:${PATH}"
    export LD_LIBRARY_PATH PATH
    echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
    LINUX|Linux)
    arch=`uname -m`
    if [ -n "${LD_LIBRARY_PATH}" ]; then
    LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${WL_HOME}/server/lib/linux/${arch}:${WL_HOME}/server/lib/linux/${arch}/oci817_8"
    else
    LD_LIBRARY_PATH="${WL_HOME}/server/lib/linux/${arch}:${WL_HOME}/server/lib/linux/${arch}/oci817_8"
    fi
    PATH="${WL_HOME}/server/lib/linux:${PATH}"
    export LD_LIBRARY_PATH PATH
    echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
    OSF1)
    if [ -n "${LD_LIBRARY_PATH}" ]; then
    LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${WL_HOME}/server/lib/tru64unix"
    else
    LD_LIBRARY_PATH="${WL_HOME}/server/lib/tru64unix"
    fi
    PATH="${WL_HOME}/server/lib/tru64unix:${PATH}"
    export LD_LIBRARY_PATH PATH
    echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
    SunOS)
    if [ -n "${LD_LIBRARY_PATH}" ]; then
    LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${WL_HOME}/server/lib/solaris:${WL_HOME}/server/lib/solaris/oci817_8"
    else
    LD_LIBRARY_PATH="${WL_HOME}/server/lib/solaris:${WL_HOME}/server/lib/solaris/oci817_8"
    fi
    PATH="${WL_HOME}/server/lib/solaris:${PATH}"
    export LD_LIBRARY_PATH PATH
    echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
    if [ "${JAVA_VM}" = "" ]
    then
    # JAVA_VM=-server
    JAVA_VM=${COMM_SERVER_VM}
    fi
    Windows_NT*)
    if [ "${JAVA_VM}" = "" ]
    then
    # JAVA_VM=-hotspot
    JAVA_VM=${COMM_VM}
    fi
    PATHSEP=\;
    CLASSPATHSEP=\;
    CYGWIN*)
    if [ "${JAVA_VM}" = "" ]
    then
    # JAVA_VM=-hotspot
    JAVA_VM=${COMM_VM}
    fi
    CLASSPATHSEP=\;
    echo "$0: Don't know how to set the shared library path for `uname
    -s`. "
    esac
    if [ "${MEM_ARGS}" = "" ]
    then
    MEM_ARGS="-Xms32m -Xmx200m"
    fi
    if [ "${PATHSEP}" = "" ]; then
    PATHSEP=:
    fi
    if [ "${CLASSPATHSEP}" = "" ]; then
    CLASSPATHSEP=:
    fi
    CLASSPATH="${JAVA_HOME}/lib/tools.jar${CLASSPATHSEP}${WL_HOME}/server${CLASSPATHSEP}${WL_HOME}/server/lib/weblogic_sp.jar${CLASSPATHSEP}${WL_H
    OME}/server/lib/weblogic.jar${CLASSPATHSEP}${CLASSPATH}"
    # If we are on an old version of Cygnus we need to turn <letter>:/ in
    the path
    # to //<letter>/
    if [ `uname -s` = "CYGWIN32/NT" ]; then
    WL_HOME=`echo $WL_HOME | sed "s#\([a-zA-Z]\):#//\1#g"`
    JAVA_HOME=`echo $JAVA_HOME | sed "s#\([a-zA-Z]\):#//\1#g"`
    fi
    # If we are on an new version of Cygnus we need to turn <letter>:/ in
    the path
    # to /cygdrive/<letter>/
    if [ -n "`uname -s |grep -i cygwin_`" ]; then
    WL_HOME=`echo $WL_HOME | sed "s#\([a-zA-Z]\):#/cygdrive/\1#g"`
    JAVA_HOME=`echo $JAVA_HOME | sed "s#\([a-zA-Z]\):#/cygdrive/\1#g"`
    fi
    PATH=".${PATHSEP}${WL_HOME}/server/bin${PATHSEP}${JAVA_HOME}/jre/bin${PATHSEP}${JAVA_HOME}/bin${PATHSEP}${PATH}"
    # Import extended environment
    if [ -f extEnv.sh ]; then
    . extEnv.sh
    fi
    if [ ! -z "${EXT_PRE_CLASSPATH}" ]; then
    CLASSPATH="${EXT_PRE_CLASSPATH}${CLASSPATHSEP}${CLASSPATH}"
    fi
    if [ ! -z "${EXT_POST_CLASSPATH}" ]; then
    CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${EXT_POST_CLASSPATH}"
    fi
    if [ ! -z "${EXT_PRE_PATH}" ]; then
    PATH="${EXT_PRE_PATH}${PATHSEP}${PATH}"
    fi
    if [ ! -z "${EXT_POST_PATH}" ]; then
    PATH="${PATH}${PATHSEP}${EXT_POST_PATH}"
    fi
    # Get PRE and POST environment
    if [ ! -z "${PRE_CLASSPATH}" ]; then
    CLASSPATH="${PRE_CLASSPATH}${CLASSPATHSEP}${CLASSPATH}"
    fi
    if [ ! -z "${POST_CLASSPATH}" ]; then
    CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${POST_CLASSPATH}"
    fi
    if [ ! -z "${PRE_PATH}" ]; then
    PATH="${PRE_PATH}${PATHSEP}${PATH}"
    fi
    if [ ! -z "${POST_PATH}" ]; then
    PATH="${PATH}${PATHSEP}${POST_PATH}"
    fi
    echo CLASSPATH=${CLASSPATH}
    echo
    echo PATH=${PATH}
    echo
    echo "***************************************************"
    echo "* To start WebLogic Server, use a username and *"
    echo "* password assigned to an admin-level user. For *"
    echo "* server administration, use the WebLogic Server *"
    echo "* console at http://<hostname>:<port>/console *"
    echo "***************************************************"
    if [ "$ADMIN_URL" != "" ]
    then
    set -x
    "${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}
    -classpath "${CLASSPATH}" -Dweblogic.Name=${SERVER_NAME}
    -Dbea.home="/usr/local
    /bea" -Dweblogic.management.username=${WLS_USER}
    -Dweblogic.management.password=${WLS_PW}
    -Dweblogic.management.server=${ADMIN_URL} -Dweblogic
    .ProductionModeEnabled=${STARTMODE}
    -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy"
    weblogic.Server
    else
    set -x
    "${JAVA_HOME}/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}
    -classpath "${CLASSPATH}" -Dweblogic.Name=${SERVER_NAME}
    -Dbea.home="/usr/local
    /bea" -Dweblogic.management.username=${WLS_USER}
    -Dweblogic.management.password=${WLS_PW}
    -Dweblogic.ProductionModeEnabled=${STARTMODE} -Djava
    .security.policy="${WL_HOME}/server/lib/weblogic.policy"
    weblogic.Server
    fi
    set +x
    fi
    --------------END OF SCRIPT----------
    So can you please look at the exception and the above-pasted source
    code of the startup script file and let me know what needs to be done
    to fix the error?
    Thanks,
    Kalpana

    Senthil,
    What may have happened is that the boot identity (e.g., the "weblogic" user) is no longer in the realm. Or, you added a second authenticator which has a Control Flag of Required but the weblogic user cannot be found there.
    If it's the first scenario, add the weblogic user (and his inclusion in the Administrators group) to the data store for your authenticator.
    If it's the second scenario, you need to change the Control Flag to something less drastic such as Sufficient. In this case, you can't make the change in WebLogic Console since you can't boot your server. Have a look in config.xml and see if your newly created authenticator is listed there. If it is, change the Control Flag and try to reboot the server.
    Otherwise, copy config.xml.booted to config.xml and start your server. You'll have to re-do your security realm changes, though.
    HTH,
    Mike

  • Java.lang.SecurityException: Configuration Error

    Hello,
    Has anyone faced this exception before ?
    java.lang.SecurityException: Configuration Error:
    Can not specify multiple entries for initial
    at com.sun.security.auth.login.ConfigFile.getAppConfigurationEntry(ConfigFile.java:221)
    at javax.security.auth.login.LoginContext.init(LoginContext.java:172)
    at javax.security.auth.login.LoginContext.<init>(LoginContext.java:319)
    Thanks,
    Luiz Ernesto P. Mal�re

    We had similar errors occuring when multiple threads tried to login to our server at the same time. As it turns out, the com.sun.security.auth.login.ConfigFile class is not thread-safe. That is, if two threads try to login at the same time, we got this error.
    Try setting the login.configuration.provider in your security.properties to your own-thread safe class and see if it helps. It did for us.

  • Javax.security.auth.login.Configuration.setConfiguration() fails with  java.lang.SecurityException: No Permission to set the Configuration

    Hi All,
    I have a custom security class (deployed in an application) that uses JAAS
    to login, i have to set the Configuration in my security handler like this
    Configuration.setConfiguration(new MyConfiguration());
    This fails with
    java.lang.SecurityException: No Permission to set the Configuration
    How do i give this class the permission to set configuration???
    Thanks,
    Ako

    nobody knows?

  • Java.lang.SecurityException: Security: Invalid Subject: principals

    I am getting the following exception intermittently:
    java.lang.SecurityException: Security: Invalid Subject: principals=[XXX, Administrators]
    What i am doing is, i have two weblogic servers both running Weblogic 10.0 and running on different domains, a war is deployed on one server (server A) which sends a message to queue on another server (Server B), now everything works but if i restart B then A throws the above Security Exception while looking up the queue on Server B?? Any ideas why, i haven't configured any security credentials.
    If i restart A after restarting B then everything works again but restarting all the servers each time one gets restarted is cumbersome,so does someone knows answer to the question above?
    Edited by: user4828945 on Feb 11, 2009 5:41 PM

    If you dont require authentication, then enable the global trust between the domains.
    When this feature is enabled, identity is passed between WebLogic Server domains over an RMI connection without requiring authentication in the second domain. When inter-domain trust is enabled, transactions can commit across domains. A trust relationship is established when the Domain Credential for one domain matches the Domain Credential for another domain.
    By default, the Domain Credential is randomly generated and therefore, no two domains will have the same Domain Credential. If you want two WebLogic Server domains to interoperate, you need to replace the generated credential with a credential you select, and set the same credential in each of the domains.
    Link :[http://e-docs.bea.com/wls/docs100/ConsoleHelp/taskhelp/security/EnableGlobalTrustBetweenDomains.html]

  • Help! java.lang.SecurityException

    Dear all,
    I am deploying my application to weblogic6.1 and got an exception as
    following:
    java.lang.SecurityException: No Permission to set the Configuration
    when i was trying to set the configuration class to be used during
    authentication:
    protected final void service(HttpServletRequest req,
    HttpServletResponse resp) throws ServletException, IOException
    hs = req.getSession(false);
    if (hs == null || hs.getValue("user.info") == null) {
    // Try to login to the application
    try {
    // Set the login configuration class to be used
    props.put("BUNDLE_MGR",
    (BundleManager)getServletContext).getAttribute("bundlemgr"));
    javax.security.auth.login.Configuration.setConfiguration(new
    MySecurityConfig(req, logWriter, props)); // Exception got right
    here...
    } catch(){}
    Where should i look at?
    Thanks in advance.
    Frank

    No, I searched the forum for jar and signed applets. The reason to sign your applet is to make sure
    nobody changes the classes of the signed jar.
    You just did that and that means re-signing the jar file. If you know a way to hack this than you just took
    away the reason for signing jars.
    What you should do is find out who signed the jar in the first place and use that keystore to resign the jar.
    Or if your clients don't mind the "do you trust" popup again or don't mind editing their policy files (again)
    than you can create a keystore and sign the jar with that keystore:
    javac ...
    keytool -genkey -keystore harm.com -keyalg rsa -dname "CN=Harm Meijer, OU=Technology, O=org, L=Amsterdam, ST=, C=NL" -alias harm -validity 3600 -keypass password -storepass password
    jar cf0 test.jar *.class
    jarsigner -keystore harm.com -storepass password -keypass password -signedjar sTest.jar test.jar harm
    del *.class

  • Java.lang.SecurityException: [Security:090398]

    Hi All,
    I am using Jdeveloper 11.1.1.3.
    I am running my application and it runs fine. But after a couple of clicks, I get the following exception. Tried googling and oracle-ing the exception but can't really understand what it is. If someone can provide a solution that would be AWESOME but even if someone can explain what the error is, that would be really really helpful.
    Oh and the WebLogic Server Version: 10.3.3.0 on server and client side.
    Here's the error...
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[jdoe11, EFormDefault]
    javax.el.ELException: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[jdoe11, EFormDefault]
         at com.sun.el.parser.AstValue.invoke(AstValue.java:161)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at oracle.adf.controller.internal.util.ELInterfaceImpl.invokeMethod(ELInterfaceImpl.java:168)
         at oracle.adfinternal.controller.activity.MethodCallActivityLogic.execute(MethodCallActivityLogic.java:161)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:989)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:878)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:777)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:551)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:147)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:109)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:78)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:97)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:91)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[jdoe11, EFormDefault]
         at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:835)
         at weblogic.security.service.IdentityUtility.authenticatedSubjectToIdentity(IdentityUtility.java:30)
         at weblogic.security.service.RoleManager.getRoles(RoleManager.java:183)
         at weblogic.security.service.AuthorizationManager.isAccessAllowed(AuthorizationManager.java:375)
         at weblogic.rmi.provider.WorkContextAccessController.checkAccess(WorkContextAccessController.java:62)
         at weblogic.workarea.spi.WorkContextAccessController.isAccessAllowed(WorkContextAccessController.java:38)
         at weblogic.workarea.WorkContextLocalMap$WorkContextKeys.next(WorkContextLocalMap.java:356)
         at weblogic.wsee.jaxws.workcontext.WorkContextTube.hasContext(WorkContextTube.java:67)
         at weblogic.wsee.jaxws.workcontext.WorkContextClientTube.processRequest(WorkContextClientTube.java:38)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445)
         at com.sun.xml.ws.client.Stub.process(Stub.java:259)
         at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:152)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:115)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
         at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:135)
         at $Proxy157.retrieveForm(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.wsee.jaxws.spi.ClientInstance$ClientInstanceInvocationHandler.invoke(ClientInstance.java:363)
         at $Proxy158.retrieveForm(Unknown Source)
         at gov.atf.eforms.FormBase.retrieveForm(FormBase.java:206)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
         ... 62 more
    Edited by: HKG on Feb 25, 2011 8:01 AM

    Hi,
    difficult to say. From the error message it seems that there is something happening with the authenticated JAAS user. Does the problem reproduce in other applications (e.g. a test case ?)
    Frank

  • Java.lang.SecurityException: [Security:090398]Invalid Subject - multithre..

    Hi
    I am getting java.lang.SecurityException: [Security:090398]Invalid Subject ... under the following scenario:
    - I have a simple dispatcher class which is starting a number of threads, every one of them sending messages to different Weblogic server.
    - The dispatcher class is a simple Java class, running from outside of Weblogic server; the authentication is done using the JNDI login.
    - The message sender threads create an InitialContext for each message being sent and the context is closed after succesfully sending the message.
    With just one message sender thread running, everything is OK.
    The problems appear when at least two threads run at the same time. What happens is that one of the threads sends messages successfully while the other ones fail with:
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[user1, role1, role2, role3, role4]
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
    at weblogic.jms.dispatcher.DispatcherImpl_812_WLStub.dispatchSyncFuture(Unknown Source)
    at weblogic.jms.dispatcher.DispatcherWrapperState.dispatchSync(DispatcherWrapperState.java:339)
    at weblogic.jms.client.JMSConnection.createSessionInternal(JMSConnection.java:400)
    at weblogic.jms.client.JMSConnection.createTopicSession(JMSConnection.java:359)
    at com.delta.parser.test.TestMessageThread.sendMessage(TestMessageThread.java:54)
    at com.delta.parser.test.TestMessageThread.run(TestMessageThread.java:34)
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[user1, role1, role2, role3, role4]
    at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:682)
    at weblogic.rjvm.MsgAbbrevInputStream.getSubject(MsgAbbrevInputStream.java:182)
    at weblogic.rmi.internal.BasicServerRef.acceptRequest(BasicServerRef.java:825)
    at weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:300)
    at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:923)
    at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:844)
    at weblogic.rjvm.ConnectionManagerServer.handleRJVM(ConnectionManagerServer.java:222)
    at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:794)
    at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:570)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:105)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    The environment is Weblogic 8.1 (WebLogic Platform Developer license) running on Windows XP Professional.
    In the classpath I have the following weblogic jar files: weblogic.jar, wlclient.jar, wljmsclient.jar.
    The code that is generating the exceptions is:
    /****************** Dispatcher ************************/
    package test;
    public class TestThreadDispatcher {
    public TestThreadDispatcher() {
    public static void main(String[] args) {
    TestThreadDispatcher instance = new TestThreadDispatcher();
    instance.doTest();
    private void doTest() {
    TestMessageThread t1 = new TestMessageThread("weblogic.jndi.WLInitialContextFactory",
    "t3://pc10:7001",
    "user1",
    "passwd");
    t1.start();
    TestMessageThread t2 = new TestMessageThread("weblogic.jndi.WLInitialContextFactory",
    "t3://sjn:7001",
    "user1",
    "passwd");
    t2.start();
    TestMessageThread t3 = new TestMessageThread("weblogic.jndi.WLInitialContextFactory",
    "t3://pc99:7001",
    "user1",
    "passwd");
    t3.start();
    /****************** Message sender thread **************/
    package test;
    import java.util.*;
    import javax.jms.*;
    import javax.naming.*;
    import com.delta.parser.util.*;
    public class TestMessageThread extends Thread implements ParserConstants {
    private Hashtable environment;
    public TestMessageThread(String initialFactory,
    String url,
    String principal,
    String credentials) {
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    initialFactory);
    env.put(Context.PROVIDER_URL,
    url);
    env.put(Context.SECURITY_PRINCIPAL,
    principal);
    env.put(Context.SECURITY_CREDENTIALS,
    credentials);
    environment = env;
    public void run() {
    int cnt = 0;
    while(true) {
    sendMessage("" + cnt++);
    try {
    sleep(500);
    } catch (InterruptedException iex) {
    private void sendMessage(String text) {
    try {
    Context ctx = new InitialContext(environment);
    TopicConnectionFactory factory = (TopicConnectionFactory)
    ctx.lookup("javax.jms.TopicConnectionFactory");
    TopicConnection connection = factory.createTopicConnection();
    TopicSession session = connection.createTopicSession(false,
    javax.jms.Session.AUTO_ACKNOWLEDGE);
    Topic topic = (Topic)ctx.lookup("FileTopic");
    TopicPublisher publisher = session.createPublisher(topic);
    TextMessage message = session.createTextMessage(text);
    publisher.publish(message);
    System.out.println("Message " + text + " sent to " +
    environment.get(Context.PROVIDER_URL));
    ctx.close();
    catch (JMSException jmsex) {
    jmsex.printStackTrace();
    catch (NamingException nex) {
    nex.printStackTrace();
    catch (SecurityException scex) {
    scex.printStackTrace();
    Any workarounds for this?
    BTW, I also tried using weblogic.jndi.Environment to obtain an InitialContext and wrapping the code inside thread's run() into Security.runAs(subject, new PrivilegedAction() { ....}, without success.
    Thanks in advance
    Mirel Rata

    Hi Kiran,
    Thank you for replying.
    Unfortunately the fix you suggested did not solve the problem. The server version I'm using is 8.1.
    The application I'm sending messages from is a standalone Java application, does not run from inside Weblogic server.
    Any thoughts?
    Regards,
    Mirel Rata

Maybe you are looking for

  • Project System - Report Painter - Cost roll up issue

    Hi, We have an issue with the roll up of the costs in Report Painter report in Project Systems. The problem occurs only with those costs which have been settled to an internal order from a WBS element. We are using the same cost elements to settle to

  • How to set the Value in Dropdownbyindex

    Hi Experts, I am New to Webdynpro-ABAP. I have one Dropdownbyindex field. I need to set the value from BAPI. how to set that values in Dropdown..          I need Basic step-by-step procedure. Regards, P.Manivannan

  • Procured material - incorrect valuation class

    We are version 4.7 with purchase accounting active in our company. Following is the issue faced by us. We have a single material code for both procured and manufactured item. In the material master the valuation class entered is that of manufactured.

  • Several ABAP Backends to the same Bi java?

    Hello, Is it possible to connect several ABAP backends to the same Bi Java? Is there any specific information around this? We have already one abap connected to a Bi Java, but would like to have another one connected to use Bex reporting, but I'm not

  • What is the SANDBOX for?

    Hello, in APPSTORE I have downloaded ULYSSES. When I have changed the PREFERENCES I had to STOP the program and to RESTART it, to get preferences working. The Support of ULYSSES told me, that SANDBOX is doing me this and Support sent me a download li