After waiting on hold for *4 hours, 32min* to speak to a Pre-Sales Tech
Support person, I thought I would post my question here - with any luck I'll
get a response >:)
Using BAS4.5.1 w/Security Service we want to restrict access to BAS using
HostDB under Windows 2000. Our client applications never even get a
connection, instead recieving the org.omg.CORBA.NO_PERMISSION. There are so
many posts regarding this exception in the newsgroups but no real answers on
how to solve the problem. We've followed the instructions to the letter
(twice) but still can't get it working.
Here is the configuration of our server (from the VisiBroker properties of
server):
--------------------------------
ejb.jsec=true
vbroker.naming.backingStoreType=InMemory
vbroker.naming.iorFile=adm/ns.ior
vbroker.naming.logLevel=emerg
vbroker.security.FileDB.file=adm/security/pdbfile
vbroker.security.HostDB.domain=WTM_SALISBURY
vbroker.security.controlAdminAccess=true
vbroker.security.enableAuthentication=true
vbroker.security.logLevel=7
vbroker.security.passwordBackEnd=HostDB
vbroker.security.rolemap_path=adm/security/ejb.rolemap
vbroker.security.wallet.identity=admin
vbroker.security.wallet.password=admin
vbroker.security.wallet.type=NONE
--------------------------------
No configuration changes have been made to the EJB container at ALL and it
is running in-process (and hence, according to Manual section 3 inherits the
server settings). We have not even touched/looked at the web container as
we aren't using it (client is a Swing app)
------------- Code to connect to server -----------------------
private void connectIAS() throws Exception{
Object ref=null;
java.util.Properties orbProps = new java.util.Properties();
orbProps.put( "vbroker.orb.dynamicLibs", "com.inprise.security.Init" );
orbProps.put( "vbroker.security.secureTransport", "true" );
java.util.Properties contPro = new java.util.Properties();
contPro.put( "ejb.jsec", "true" );
javax.naming.Context context = new
javax.naming.InitialContext(contPro);
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init( new String[]{},
orbProps );
com.inprise.security.CORBAsec.Current securityCurrent =
com.inprise.security.CORBAsec.CurrentHelper.narrow(
orb.resolve_initial_references( "SecurityCurrent" )
);
securityCurrent.setUPprincipal("WTM_SALISBURY\\geoffreys",
"myPasswordGoesHere" );
// EXCEPTION HAPPENS ON THE FOLLOWING LINE:
ref = context.lookup("EBProcessor"); // the rest of your code...
}
---------------------------------------------------------------
NB: We've tried dozens of variations to the client which people have posted
in the groups, none worked.
The managment console works (after we set the user/password to
WTM_SALISBURY\\geoffreys and my password), and the Server window shows the
authorization being granted in this case.
--------- EJB Container's role map ------------
ServerAdministrator {
CN=*, OU=Security, O=Inprise, L=San Mateo, S=California, C=US
CN=admin
CN=WTM_SALISBURY\geoffreys
}
customer {
role=ServerAdministrator
CN=pclare
CN=jeeves
GROUP=RegularUsers
}
UserAuthenticatorRole {
role=ServerAdministrator
CN=serverx
}
ServerRole {
role=ServerAdministrator
CN=serverPBE
}
UserAdministratorRole {
role=ServerAdministrator
CN=UserAdministrator
}
------------------------------------------------
PLEASE FOR THE LOVE OF GOD help me get this working before I go insane.
Additionally, if there is anybody that can offer some help in "real time" I
would almost KILL to speak with you (email: g.ste...@orrcon.com.au, ph: 07
32740535). Sadly, if we can't get this working within the next couple of
days we will have no choice but to move to a different server product.
Thanks and for-ever-in-your-debt-if-you-help,
Geoff