JBoss to WebLogic Migration (Security)

I'm completely new to WebLogic (and really AS administration in general) and am attempting to migrate a JBoss application over to WLS 10.3. I'm to the point where I'm successfully deploying the application, which is an ear containing a war and ejb jar. "Successfully deploying" translates to setting up the required datasources, adding the required descriptors to the ejb (weblogic-cmp-rdbms-jar.xml and weblogic-ejb-jar.xml), installing it without errors via the admin console, and successfully hitting the URL and pulling up a login prompt.
I've been studying the WebLogic security configuration and am getting a bit lost in all of the users, roles, policies, groups, authentication providers, authorization providers, adjudication providers, etc. In JBoss, we were using a DBMS based authentication scheme. This was done by simply adding the following to login-config.xml
<application-policy name = "myauth">
  <authentication>
     <login-module code = "org.jboss.security.auth.spi.DatabaseServerLoginModule" flag = "required">
          <module-option name = "dsJndiName">java:SomeDS</module-option>
          <module-option name = "unauthenticatedIdentity">guest</module-option>
          <module-option name = "principalsQuery">select userpassword, user_id from usertable where userlogin=?</module-option>
          <module-option name = "rolesQuery">select rolename, 'Roles' from userrolestable where userlogin=?</module-option>
     </login-module>
  </authentication>
</application-policy>and a security-domain tag in the jboss-web.xml descriptor. On the WebLogic side, I've added the following to config.xml:
<sec:authentication-provider xsi:type="wls:read-only-sql-authenticatorType">
     <sec:name>ROSQLAuth</sec:name>
     <sec:control-flag>SUFFICIENT</sec:control-flag>
     <wls:enable-group-membership-lookup-hierarchy-caching>false</wls:enable-group-membership-lookup-hierarchy-caching>
     <wls:data-source-name>SomeDS</wls:data-source-name>
     <wls:plaintext-passwords-enabled>true</wls:plaintext-passwords-enabled>
     <wls:descriptions-supported>false</wls:descriptions-supported>
     <wls:sql-get-users-password>select userpassword from usertable where userlogin=?</wls:sql-get-users-password>
     <wls:sql-user-exists>select userlogin from usertable where userlogin=?</wls:sql-user-exists>
     <wls:sql-list-member-groups>select rolename from userrolestable where userlogin = ?</wls:sql-list-member-groups>
     <wls:sql-list-users>select userlogin from usertable where userlogin like ?</wls:sql-list-users>
     <wls:sql-get-user-description>select description from usertable where userlogin = ?</wls:sql-get-user-description>
     <wls:sql-list-groups>select rolename from usertable where rolename like ?</wls:sql-list-groups>
     <wls:sql-group-exists>select rolename from userrolestable where rolename = ?</wls:sql-group-exists>
     <wls:sql-is-member>select userlogin from userrolestable where rolename = ? and userlogin = ?</wls:sql-is-member>
     <wls:sql-get-group-description>select rolename from userrolestable where userlogin = ?</wls:sql-get-group-description>
</sec:authentication-provider>Which seems to be partially effective in that I can see the correct users under the "Users and Groups" tab in the security realm. However, obviously my app isn't referencing this because I haven't told it to.
So - on to my question - what do I need to do to have my application reference this security configuration? I'm assuming I'm missing something in the descriptors, and potentially some association between the various "providers". Any help would be great, even if you can just point me to the correct subset of the security documentation.
Thanks!
Mike

You'll have to forgive me as I'm a bit out of my normal realm here, but if the security model is in place and working on JBoss and OC4J, shouldn't it work without any additional code in WL?
I was under the impression it was all standard J2EE JAAS and just required some finagling of the descriptors. For instance, in addition to the weblogic-cmp-rdbms-jar.xml and weblogic-ejb-jar.xml descriptors I added to the EJB, it looks like I'll also have to add weblogic.xml and weblogic-application.xml to my web app.
What I get confused on, though, is how to manage the roles and groups between my app, the read only sql auth/database, and the servers role/group configuration.
Thanks!
Mike
Edited by: mwc on Dec 24, 2008 7:16 AM

Similar Messages

  • Error in deploying entity beans - migration from JBoss to Weblogic 10.3.4

    Hi,
    I am migrating EJB2.x code from JBoss to Weblogic 10.3.4. As a first step, I am tyring to deploy just Entity beans. I get following error when deploying to server.
    'weblogic.application.ModuleException: Exception preparing module: EJBModule(myEJB.jar)
    Unable to deploy EJB: CollMetaData from myEJB.jar:
    [EJB:011017]Error while reading 'META-INF/weblogic-cmp-rdbms-jar.xml'. The error was:
    There are 1 nested errors:
    java.lang.NullPointerException
         at weblogic.ejb.container.cmp.rdbms.finders.EjbqlFinder.setMethods(EjbqlFinder.java:288)
         at weblogic.ejb.container.cmp.rdbms.Deployer.processFinders(Deployer.java:744)
         at weblogic.ejb.container.cmp.rdbms.Deployer.readTypeSpecificData(Deployer.java:446)
         at weblogic.ejb.container.persistence.PersistenceType.setTypeSpecificFile(PersistenceType.java:506)
         at weblogic.ejb.container.persistence.PersistenceType.setupDeployer(PersistenceType.java:455)
         at weblogic.ejb.container.deployer.CMPInfoImpl.setup(CMPInfoImpl.java:118)
         at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1214)
         at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:442)
         at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
         at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45)
         at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:613)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:184)
         at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:58)
         at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
         at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    Can someone help me fixing the issue?
    I changed schema locations of descriptor files as suggested at http://download.oracle.com/docs/cd/E17904_01/web.1111/e13706/overview.htm#i1074199 (see the third category for '*Enterprise Bean 2.1*' in the listing Table 1-1). Alternatively, you may see the schema locations for EJB2.0 directly at http://download.oracle.com/docs/cd/E17904_01/web.1111/e13719/dd_reference.htm#EJBPG481

    JRE version in JBoss is 1.6.0_16. JVM in web logic is pointing to jrockit_160_22_D1.1.1-3 which is come in the package. It doesn't seem to be related to JVM version mismatch.
    I think it is an issue with definitions in weblogic-cmp-rdbms-jar.xml file. How should be the definition of entity-descriptor appear for entity bean which has finder methods in ejb-jar.xml?
    Please see the snippets from corresponding descriptor files below.
    ejb-jar.xml
    =========
    <entity>
    <display-name>EmpBean</display-name>
    <ejb-name>EmpBean</ejb-name>
    <local-home>LocalEmpBeanHome</local-home>
    <local>LocalEmpBean</local>
    <ejb-class>EmpBeanBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.String</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>EmpBean</abstract-schema-name>
    <cmp-field>
    <field-name>firstName</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>lastName</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>phone</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>address</field-name>
    </cmp-field>
    <primkey-field>lastName</primkey-field>
    <query>
    <query-method>
              <method-name>findByPrimaryKey</method-name>
                   <method-params>
                   <method-param>java.lang.String</method-param>
                   </method-params>
              </query-method>
              <ejb-ql>SELECT Object(o) FROM EmpBean o WHERE o.lastName= ?1</ejb-ql>
         </query>
    </entity>
    weblogic-jar.xml
    ============
    <weblogic-enterprise-bean>
    <ejb-name>EmpBean</ejb-name>
    <entity-descriptor>
         <pool>
              <max-beans-in-free-pool>20</max-beans-in-free-pool>
              <initial-beans-in-free-pool>5</initial-beans-in-free-pool>
         </pool>
    <persistence>
    <persistence-use>
    <type-identifier>WebLogic_CMP_RDBMS</type-identifier>
    <type-version>6.0</type-version>
    <type-storage>meta-inf/weblogic-cmp-rdbms-jar.xml</type-storage>
    </persistence-use>
    <finders-load-bean>true</finders-load-bean>
    </persistence>
    </entity-descriptor>
    <local-jndi-name>ejb/EmpBean</local-jndi-name>
    </weblogic-enterprise-bean>
    weblogic-cmp-rdbms-jar.xml
    ====================
    <weblogic-rdbms-bean>
    <ejb-name>EmpBean</ejb-name>
    <data-source-jndi-name>mysqlDS</data-source-jndi-name>
    <table-map>
    <table-name>emp</table-name>
    <field-map>
    <cmp-field>firstName</cmp-field>
    <dbms-column>first_namel</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>lastName</cmp-field>
    <dbms-column>last_name</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>phone</cmp-field>
    <dbms-column>phone</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>address</cmp-field>
    <dbms-column>address</dbms-column>
    </field-map>
    </table-map>
    <weblogic-rdbms-bean>
    Please ignore any typos that you may notice in above sample descriptions (because I just typed it here changing original names).
    When I try to deploy the application, I get error message as posted in my first post above in this thread. Please correct me if I am making any erros in descriptor files.
    Edited by: 839281 on Feb 25, 2011 10:55 AM
    Edited by: venkatp on Mar 1, 2011 9:31 AM

  • Urgent: JBOSS to Weblogic OIM applicaiton migration

    Hello,
    We've OIM 9102 BP15 on JBOSS non-clustered environment. There are customizations over the OIM UI to meet specific business requirement.
    Now, we're planning to migrate the OIM application from JBOSS to Weblogic clustered environment (keeping OIM database intact). OIM documents says it supports weblogic release 10.3.0, 10.3.1 and later.
    http://download.oracle.com/docs/cd/E14899_01/doc.9102/e14764/toc.htm#insertedID2
    What should be the plan of migrating to WLS 11g application server keeping the OIM DB intact? Any document or metalink?
    Thanks,
    Edited by: oimuser007 on Sep 21, 2011 11:38 AM

    Hello Experts,
    One problem i see now is -
    Few custom JSP are doing DB calls to show some data on the pages (see code snippet below):
    ============================================
    import javax.naming.*;
    Context ctx = null;
    ctx = new InitialContext();
    DataSource DriverManager = (DataSource)ctx.lookup("java:jdbc/xlDS");
    conn = DriverManager.getConnection();
    stmt = conn.prepareStatement(SQL);
    rs = stmt.executeQuery();
    while (rs.next()) {
    =============================================
    Now, in the new environment, an error message is showing instead of real data.
    "While trying to look up /jdbc/xlDS in /app/webapp/xlWebApp/378768760".
    When i check through Weblogic console for: services -> Data sources -> xlDS. Everything looks good here.
    Any clue what is going wrong ?
    Thanks,

  • Information on how to migrate JBoss to WebLogic

    Hello all,
    I just wanted to know whether there is a link you could provide me with a link or guidelines in which I could find how to migrate my application in JBoss to WebLogic. I have been reading in the forum but I haven't found it.
    If not a tutorial like this exists, which should be changed?
    Thanks a lot

    I'm sorry you feel like the forums have not been helpful. One thing to keep in mind is that forums are all volunteer-only. There are no SLA's or people that have a dedicated job to respond to forum posts like you will find with Oracle Support Service Requests. Therefore the best way to benefit from the forums is to ask succinct clear questions with an appropriate subject line that shows you have done some research, but still need a little help. In addition to the forums, I put together a blog post that tried to assemble many of the WebLogic Server resources available:
    http://blogs.oracle.com/jamesbayer/2008/12/weblogic_server_resources_my_c.html
    One of the resources I also did not mention is your local Oracle account team. My day-job is to work with local customers as a sales consultant, so I am often asked by the customers I work with to help research questions or help guide them to the right process. I suggest that you contact your local Oracle account team that might be able to help you navigate the many resources available.
    One last point, since the forums are community driven, they will only benefit when people give back and contribute back to the forums. So since you were able to find information about the JBoss migration, please respond with where you found the information and what you found helpful about it and help improve the forums for others.
    Cheers,
    James

  • Migrate EJB 3.0 from JBoss to Weblogic 10.3.5

    Hi all,
    I need help in deploying my ear file from Jboss to Weblogic, got this error relates to EJB module:
    ####<Dec 26, 2012 10:45:03 PM PST> <Warning> <Deployer> <localhost.localdomain> <AdminServer> <[ACTIVE] ExecuteThread: '9' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1356590703830> <BEA-149004> <Failures were detected while initiating deploy task for application 'MyScheduler'.>
    ####<Dec 26, 2012 10:45:03 PM PST> <Error> <Console> <localhost.localdomain> <AdminServer> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <tungpl> <> <> <1356590703869> <BEA-240003> <Console encountered the following error weblogic.application.ModuleException: Could not setup environment
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1495)
         at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:438)
         at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:375)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:95)
         at weblogic.application.internal.flow.ScopedModuleDriver.activate(ScopedModuleDriver.java:194)
         at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:227)
         at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:541)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:175)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:167)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
         at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
         at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: javax.naming.NameNotFoundException: While trying to look up ejb-info in /app/ejb/myEjb.jar#myEjb.; remaining name 'ejb-info'
         at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
         at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:144)
         at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
         at weblogic.deployment.BaseEnvironmentBuilder.autowireEJBRef(BaseEnvironmentBuilder.java:408)
         at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:513)
         at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:157)
         at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:3144)
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1493)
    >
    I have tried some solution in this thread https://kr.forums.oracle.com/forums/thread.jspa?threadID=2174802 but it doesn't help at all.
    Could sb give me any idea?
    Pretty thanks!
    Edited by: user12925202 on Jan 20, 2013 11:33 PM

    Frank,
    Thanks. The @LOB annotations are missing.
    Create table with:
    CREATE TABLE TestBlob (id number PRIMARY KEY, xmlCol BLOB);
    INSERT INTO TestBlob VALUES(1, EMPTY_BLOB());
    The following is the complete listing for the EJB 3 class generated from table TestBlob.
    package ejb3;
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    @Entity
    @NamedQueries({
    @NamedQuery(name = "Testblob.findAll", query = "select o from Testblob o")
    public class Testblob implements Serializable {
    @Id
    @Column(nullable = false)
    private Long id;
    private byte[] xmlCol;
    public Testblob() {
    public Testblob(Long id) {
    this.id = id;
    public Long getId() {
    return id;
    public void setId(Long id) {
    this.id = id;
    public byte[] getXmlCol() {
    return xmlCol;
    public void setXmlCol(byte[] xmlCol) {
    this.xmlCol = xmlCol;
    }

  • Weblogic migration: 8.1.6 to 10.3 - Recommendations

    Hi all,
    We are starting an analyze to weblogic migration from 8.1.6 to 10.3. There are many web applications, ejb modules, data sources and connection pools deployed. I´d like to receive from you the main points that I have to consider prior to migrate the server and redeploy the components.
    Initially I think I need to recompile the source codes using the 10.3 weblogic api.
    Thanks in advance.

    Please follow the below upgrade guide for weblogic server 10.3: http://download.oracle.com/docs/cd/E12840_01/wls/docs103/upgrade/index.html
    If you face any issues in upgradation process, please post it here.
    Regards,
    RC2
    http://crkthoughts.blogspot.com

  • Using weblogic.servlet.security.ServletAuthentication

    I am currently using weblogic.servlet.security.ServletAuthentication.authenticate(Callback,
    request) to peform a weblogic form-based authentication/login and would like to
    see the session stored user info....
    The doc for authenticate states that a session will be created, but does this
    method also place user information into the session [after authentication]. If
    so, how exactly do I get the default user information stored in the session after
    this call?
    Is there a String title associated with the user info so that I can use getAttribute(String)?
    Using session.getAttributeNames(), I can see that the session has a "sessionContext"
    and "org.apache.struts.action.LOCALE". Is there a way I can user/parse these objects
    for the user information. Your help is very much appreciated, thanks!

    I think we have most of the functionality you've asked for.
    ServletAuthentication.runAs() associates a Subject with the session.
    weblogic.security.services.Authentication.authenticate() creates a Subject.
    ServletAuthentication.authenticate() is merely a convenience wrapper around
    these two methods. That is, it creates a CallbackHandler from the request,
    calls authenticate() and then calls runAs(). So, in answer to your question,
    yes, ServletAuthentication.authenticate() does associate the Subject with
    the current session.
    There is no direct way of getting the Subject associated with a session but
    we can give you the current Subject which is almost always the same thing
    (if you have a run-as tag the current Subject may be different than the one
    associated with the session). To get the current Subject call
    weblogic.security.Security.getCurrentSubject().
    - Neil
    "Richard " <[email protected]> wrote in message
    news:4002e8a6$[email protected]..
    >
    I am currently usingweblogic.servlet.security.ServletAuthentication.authenticate(Callback,
    request) to peform a weblogic form-based authentication/login and wouldlike to
    see the session stored user info....
    The doc for authenticate states that a session will be created, but doesthis
    method also place user information into the session [afterauthentication]. If
    so, how exactly do I get the default user information stored in thesession after
    this call?
    Is there a String title associated with the user info so that I can usegetAttribute(String)?
    >
    Using session.getAttributeNames(), I can see that the session has a"sessionContext"
    and "org.apache.struts.action.LOCALE". Is there a way I can user/parsethese objects
    for the user information. Your help is very much appreciated, thanks!

  • Can't migrate security

    I'm trying to upgrade 5.2 to 6.3.
    I tried to do a test migration by copying the production ldap instance folder into the test server. The test server doesn't have 5.2 installed, just the instance directory I copied from production. When I use dsmig to migrate the security settings, I was prompted for the old certificate database password:
    root@ldaptest-c:/opt/SUNWdsee/ds6/bin# !257
    ./dsmig migrate-security -v -p 389 -P 636 /opt/ldap/serverroot/slapd-salt /opt/ldapdata/salt
    Backing up file (/opt/ldapdata/salt/migration/migration_status) ..... DONE.
    Launching Security Migration of server instance /opt/ldap/serverroot/slapd-salt .....
    Stopping server instance /opt/ldapdata/salt ..... Directory Server instance '/opt/ldapdata/salt' is not running
    Enter the old certificate database password:
    Certificate database password has not been stored.
    /opt/SUNWdsee/ds6/bin/dsadm exited with error 11.
    Operation "migrate-security" failed.
    The person who setup the old instance didn't remember setting up a certicate password and I can't find any information regarding this on the migration manual.
    I also tried setting up a fully working 5.2 instance by copying 99user.ldif from the old server, use db2ldif and dump the data, and loading it. When I tried to migrate the fully working 5.2 instance, it didn't prompt for the password.
    Is the password prompt normal since the production instance wasn't originally installed on the test server?
    thx,
    mike

    Hi,
    I've got exactly the same problem. Has anybody a solution?
    What have you done mliang2?
    Tobi

  • Migrating Security from Native to External Authentication mode Servers

    Hi All,
    I am migrating applications from V7, V9 (doesn't use Shared services) to V11 (Shared Services Enabled) Essbase server.
    I am able to migrate the application definition using the Application Migration Wizard.
    Take level-0 export from the source server & load on the target server & do the default-calc or series of custom calcs depending upon the application's maintenance process.
    Using the Application Migration wizard, we can also migrate security only if both Source & Target servers use Native Authentication mode.
    This can be ruled out in my case as only Sources are native & Target is Shared services enabled.
    Here are few tools available to do bulk provisioning on a Shared Services enabled Essbase application -
    1. MAXL - Works great - But too tedious to create the MAXL statements based on the security definitions on the Source servers.
    2. CSS Import-Export utility - I heard it works only when both Source & Target are Shared services enabled. Can this be used for my case. Also heard many didn't find success with this one.
    3. LCM - Not sure if this can be used for security.
    Are there any other utilities?
    Has anyone done similar migrations before? Please let me know the best practice to do this.
    Appreciate your thoughts.
    -Ethan.

    It is much easier to go about that method, it is not always 100% successful with groups/users but gets most done.
    If you are past that stage then maybe try using the advanced security manager to extract security from your source environment.
    Then you could use the CSSImportExport Utility, first create a template from the information you extracted from your source and then run use the utility to provision users in the new environment.
    There are obviously other ways but that is the way I would prefer if using Shared services security.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Weblogic.management.security with transactions, Please HELP

    I am using weblogic.management.security.authentication API to programmatically insert/delete users and passwords into/from default security provider on Weblogic Server 8.1. I want to add transactional support to this these actions, I tried using UserTransaction API but without any luck. Does weblogi.managment.security.authenication has no transactional support (rollback-commit) or am I doing something wrong? I very much appreciate your help and looking forward to hearing from you!!!!
    It doesn't rollback, Here is the code:
    UserTransaction transaction = (UserTransaction)ctx.lookup("javax.transaction.UserTransaction");
    transaction.begin();
    UserEditorMBean userEditor = (UserEditorMBean)providers;
    userEditor.createUser(userName, password, description);
    transaction.rollback();

    I do not think you can have transactions over MBean calls as they communicate with relevant object over t3 and this objects are possibly in different class loader.
    -TJ

  • Unable to connect to environment after migrating Security from BPC 7.5 to BPC 10.1

    Hi Experts,
    We are working on BPC 7.5 to BPC 10.1 NW migration and after migrating the environment, we are unable to connect to environment.
    While trying to access, we are getting the following error:
    After taking a backup of the necessary environment in BPC 7.5 NW we are carrying out the 2 steps in the BPC 10.1 NW box:
    Step 1 : Tcode UJBR - Restore the environment in BPC 10.1
    Results: This is working fine.
    Step 2: Program UJT_MIGRATE_75_TO_101 - Running the migration utility in BPC 10.1 to make the objects compatible with BPC.
    2.1 Execute without Security Mapping
    Results:
    This is working fine. We are able to connect to the Environment and access the dimensions and models.
    2.2 Execute with only Security Mapping
    Results:
    After this step, we are not able to access the environments and are getting the Logon error.
    cannot get model "" in environment "xxxxxx" from Admin module
    The logon attempt failed; contact your administrator.
    If you have any options to resolve this error, it would be great.
    Else, we will have to re-build the entire security design manually.
    Regards,
    Sushant Pradhan

    Hi Andy,
    Thanks for your response. Yes, my id has SAP_ALL authorization.
    Still unable to access the environment after migrating security.
    To make things less complicated, we went back to BPC 7.5 NW - deleted all unwanted user ids, we kept only 3 user ids. Then, we took backup of application set and restored it in BPC 10.1.
    We created a mapping file of those 3 user ids in BPC 10.1 as NW user ids and executed the Migration utility. Again we have same error.
    Regards,
    Sushant Pradhan.

  • Weblogic.servlet.security.ServletAuthentication Question

              Hi all,
              I am developing on WebLogic 5.1 with service pack 6 installed. WegLogic 5.1 documentation on the ServletAuthentication class says that along with the non-static weak() method, there are two static versions of the weak() method available in the class that one could use. I would like to use the static version that takes in username, password, and the servlet request or session object. But I tried compiling my program, the compiler could not find the method implementation.
              This prompted me to run the javap utility on the weblogic.servlet.security.ServletAuthentication class in the weblogic510sp6.jar file and sure enough I did not find the static methods in that class.
              I did see them in an older Weblogicaux.jar file's version of ServletAuthentication class. Does that mean that these methods are deprecated and if so I would love to know the reason. For implementations that store passwords in an encrypted form those are the only methods that are useful.
              Any help/clarification on this is greatly appreciated,
              arif.
              

              Hi all,
              I am developing on WebLogic 5.1 with service pack 6 installed. WegLogic 5.1 documentation on the ServletAuthentication class says that along with the non-static weak() method, there are two static versions of the weak() method available in the class that one could use. I would like to use the static version that takes in username, password, and the servlet request or session object. But I tried compiling my program, the compiler could not find the method implementation.
              This prompted me to run the javap utility on the weblogic.servlet.security.ServletAuthentication class in the weblogic510sp6.jar file and sure enough I did not find the static methods in that class.
              I did see them in an older Weblogicaux.jar file's version of ServletAuthentication class. Does that mean that these methods are deprecated and if so I would love to know the reason. For implementations that store passwords in an encrypted form those are the only methods that are useful.
              Any help/clarification on this is greatly appreciated,
              arif.
              

  • Weblogic.xml.security.SecurityConfigurationException running encrypt example

    Hi,
    I am trying to run the tutorial examples that are detailed at http://webservice.bea.com.
    I am having problems running the encrypt SOAP messages example.
    The command line client version works fine (the full transaction goes smoothly,
    returning me the string I sent using the encryption). The browser version, though
    , gives me an error.
    (See attached).
    I am using WLS 8.1. sp2.
    I configured the server keystore and client keystore using the command line utilities
    included
    in the zipped example.
    I configured the servers default identity asserter as well as the ssl & keystore
    according to the
    instructions of the zipped file.
    Thanks in advance.

    i meet the same problem as Juan Campos'.
    the error information as follow:
    Request sent to the server
    <!--REQUEST.................-->
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    </env:Header>
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Exception during processing: weblogic.xml.security.SecurityConfigurationException: Service requires signed requests, but no Token was provided (see Fault Detail for stacktrace)</faultstring>
    <detail>
    <bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">weblogic.xml.security.SecurityConfigurationException: Service requires signed requests, but no Token was provided
         at weblogic.webservice.core.handler.WSSEClientHandler.processSpecs(WSSEClientHandler.java:325)
         at weblogic.webservice.core.handler.WSSEClientHandler.handleRequest(WSSEClientHandler.java:101)
         at weblogic.webservice.core.HandlerChainImpl.handleRequest(HandlerChainImpl.java:143)
         at weblogic.webservice.core.ClientDispatcher.send(ClientDispatcher.java:231)
         at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:143)
         at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
         at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:423)
         at weblogic.webservice.server.servlet.ServletBase.invokeMultiOutput(ServletBase.java:349)
         at weblogic.webservice.server.servlet.WebServiceServlet.invokeMultiOutput(WebServiceServlet.java:354)
         at weblogic.webservice.server.servlet.ServletBase.invokeOperation(ServletBase.java:300)
         at weblogic.webservice.server.servlet.WebServiceServlet.invokeOperation(WebServiceServlet.java:344)
         at weblogic.webservice.server.servlet.ServletBase.handleGet(ServletBase.java:266)
         at weblogic.webservice.server.servlet.ServletBase.doGet(ServletBase.java:158)
         at weblogic.webservice.server.servlet.WebServiceServlet.doGet(WebServiceServlet.java:255)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    </bea_fault:stacktrace>
    </detail>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Response from the server
    <!--RESPONSE.................-->
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <env:Header>
    </env:Header>
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Exception during processing: weblogic.xml.security.SecurityConfigurationException: Service requires signed requests, but no Token was provided (see Fault Detail for stacktrace)</faultstring>
    <detail>
    <bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">weblogic.xml.security.SecurityConfigurationException: Service requires signed requests, but no Token was provided
         at weblogic.webservice.core.handler.WSSEClientHandler.processSpecs(WSSEClientHandler.java:325)
         at weblogic.webservice.core.handler.WSSEClientHandler.handleRequest(WSSEClientHandler.java:101)
         at weblogic.webservice.core.HandlerChainImpl.handleRequest(HandlerChainImpl.java:143)
         at weblogic.webservice.core.ClientDispatcher.send(ClientDispatcher.java:231)
         at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:143)
         at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
         at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:423)
         at weblogic.webservice.server.servlet.ServletBase.invokeMultiOutput(ServletBase.java:349)
         at weblogic.webservice.server.servlet.WebServiceServlet.invokeMultiOutput(WebServiceServlet.java:354)
         at weblogic.webservice.server.servlet.ServletBase.invokeOperation(ServletBase.java:300)
         at weblogic.webservice.server.servlet.WebServiceServlet.invokeOperation(WebServiceServlet.java:344)
         at weblogic.webservice.server.servlet.ServletBase.handleGet(ServletBase.java:266)
         at weblogic.webservice.server.servlet.ServletBase.doGet(ServletBase.java:158)
         at weblogic.webservice.server.servlet.WebServiceServlet.doGet(WebServiceServlet.java:255)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    </bea_fault:stacktrace>
    </detail>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    i try Bruce Stephens' advise,but don't know exactly how to do,(which certificate should be imported?)will someone please tell the details?

  • Weblogic Migration, JDBC doesn't support XA issue

    We are doing Weblogic Migration from WLS10.3.2 to WLS10.3.6 and Java from jdk1.6.0_26 to jdk1.7.0_07
    we are facing the following error for two modules which sends email but few other modules sending email are working fine :
    javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this participation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = ABATDataSource
    *[Wed Apr 10 08:40:03.069,<gzd4qc>] DEBUG (WorkRequestServiceImpl:sentEmailNotification) - Remote Exception occurred : javax.transaction.TransactionRolledbackException: BEA1-0020971AAD25AA29B1E3: javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this participation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = ABATDataSource*
    In Weblogic10.3.6, if we change the Datasource --> Transaction from one-phase commit to Logging Last Resource,
    this issue is getting resolved.
    But all the modules were working fine with one-phase commit in Weblogic10.3.2
    Could you kindly help us to fix this issue and problem in migration.

    Hi Joe,
    We have changed the driver to XA ( Oracle's Driver (Thin XA) for instance connections; Versions:9.0.1 and later )
    and we are getting the below issue in below case
    CASE:
    I will start a transaction and it gets connected to the Database through
    the datasource in weblogic server and then it updates the data into the database which was given from the screen
    Issue:
    Caused by: java.sql.SQLException: Connection closed
    at weblogic.jdbc.wrapper.JTAConnection.getXAConn(JTAConnection.java:213)
    at weblogic.jdbc.wrapper.JTAConnection.checkConnection(JTAConnection.java:84)
    at weblogic.jdbc.wrapper.ResultSetMetaData.preInvocationHandler(ResultSetMetaData.java:61)
    at weblogic.jdbc.wrapper.ResultSetMetaData_oracle_jdbc_driver_OracleResultSetMetaData.getColumnCount(Unknown Source)
    Hence i think i cannot go for XA driver....
    It is working for Non XA driver with Logging Last Resource
    As per your note
    Logging Last Resource is an excellent way to engage one non-XA
    resource in a global transaction, with complete safety. The LLR resource is used for logging the
    XA transaction, and is committed as the first part of the second phase of the commit. As such it
    can be managed XA-wise whether that succeeds or fails.
    Can i keep as LLR itself
    Will there be any impact for my applications for below transaction scenarios ?
    One case
    I will start a transaction and it gets connected to the Database through
    the datasource in weblogic server and then it updates the data into the database which was given from the screen
    Another case
    I will start a transaction and it gets connected to the Database(2) through the datasource(2) in weblogic server and it
    reads the data from database(2) and then it updates the data(which was read) into database(1)
    I am also using EJB 3.0 version ( transaction-type - Container and Bean. Session-type - Stateless )
    Note the changes
    Previous Datasources details
    X datasource points to a my db - Non XA driver with one phase commit
    Y datasource points to a other db - Non XA driver with one phase commit
    Issue :
    javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this participation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = ABATDataSource
    [Wed Apr 10 08:40:03.069,<gzd4qc>] DEBUG (WorkRequestServiceImpl:sentEmailNotification) - Remote Exception occurred : javax.transaction.TransactionRolledbackException: BEA1-0020971AAD25AA29B1E3: javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this participation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = ABATDataSource
    Changed Datasources details
    X datasource points to a my db - Non XA driver with LLR
    Y datasource points to a other db - Non XA driver with one phase commit
    Working
    Can you please provide ur advise . thanks
    Thanks and Regards
    K.Vickram

  • How to migrate security from 1 bobj instance to another

    Hi ,
    I have a requirement
    how to migrate security from 1 bobj instance to another
    Please help me for the same .
    Regards,
    Abhishek

    Are you using Win AD groups or Enterprise groups to apply security?
    What is the BO version of source and Destination?

Maybe you are looking for