11.07.2015 Views

Borland VisiBroker® 7.0 - Borland Technical Publications

Borland VisiBroker® 7.0 - Borland Technical Publications

Borland VisiBroker® 7.0 - Borland Technical Publications

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CORBA authorizationCORBA authorizationAuthorization in the CORBA environment allows only identities in specific roles for agiven object can access that object. An object's access policy is specified by means ofa Quality of Protection policy for the Portable Object Adapter (POA) hosting the objectin question. Note that access policies can only be applied at the POA level.Rolemaps are also used to implement authorization for CORBA objects. Similarly, theJ2EE roles and concepts therein are also used in the CORBA environment.Setting up authorization for CORBA objectsIn order to set up authorization for an object, you need to perform the following:1 Create a ServerQopPolicy.2 Initialize the ServerQopPolicy with a ServerQopConfig object.3 Implement an AccessPolicyManager interface, which takes the following form:Java interface AccessPolicyManager {public java.lang.String domain();public com.borland.security.csiv2.ObjectAccessPolicy getAccessPolicy(org.omg.PortableServer.Servant servant, byte[] object_id byte []adapter_id);}C++ class AccessPolicyManager {public:virtual char* domain() =0;ObjectAccessPolicy_ptr getAccessPolicy(PortableServer_ServantBase*_servant,const ::PortableServer::ObjectId& id,const::CORBA::OctetSequence& _adapter_id) =0;}This interface should return the authorization domain from the domain() method anduses it to set the access manager in the ServerQopConfig object. The domain specifiesthe name of the authorization domain associated with the proper rolemap. You set thelocation and name of the rolemap by setting the property:vbroker.security.domain..48 VisiBroker Security Guide

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!