Skip to main content

Authorizing a Sample Java App from Oracle Entitlement Server

Create a simple authorization policy from OES and invoke authorization decision using Standard API from a Java application to allow or deny the access.


  1. Create New Application (go to Authorization management > Application > click new Application)
  2. Create New Security Module (go to System Configuration > Security Module > click New) And add Newly Created Application to it. 
  3. Create New Resource Type (go to Newly Created Application > Resource Types > Click new)
  4. Create New Resource (go to Newly Created Application > Default Policy Domain > Resources Catalog > Resources > Create New)
  5. Create New Permit Authorization Policy (go to Newly Created Application > Default Policy Domain > Application Policies > Create New)


  1. 6.      Create New Deny Authorization Policy (go to Newly Created Application > Default Policy Domain > Application Policies > Create New)



    1.     Edit the following file: OES_CLIENT_HOME/oessm/SMConfigTool/smconfig.java.controlled.prp

    oracle.security.jps.runtime.pd.client.sm_name=SM_WB_JAVA
    NOTE: same name as created using OES Admin Console
    #  Policy dustribution mode is controlled-push
    oracle.security.jps.runtime.pd.client.policyDistributionMode=controlled-push

    #  -------- Policy Distributor connectivity information - required for controlled-push distribution mode
    oracle.security.jps.runtime.pd.client.RegistrationServerHost=localhost
    oracle.security.jps.runtime.pd.client.RegistrationServerPort=7002

    Note- SSL Port of OES Server

    # >>>>>>>>>>>>OPTIONAL PARAMETERS<<<<<<<<<<<<<<<<<
    # ------------ Only for Java SM, WS SM, and RMI SM in controlled-push mode --------------------
    #  port to listen for policy distribution. Picked automatically by SM config tool if not specified
    oracle.security.jps.runtime.pd.client.DistributionServicePort=

    oracle.security.jps.runtime.pd.client.sm_type=java


    8.  Run the config.sh (OES_CLIENT_HOME/oessm/bin)
    config.sh –smConfigId <SM_NAME_AS _IN_PRP_FILE> -prpFileName
    OES_CLIENT_HOME/oessm/SMConfigTool/smconfig.java.controlled.prp



    9.      This will create a directory in OES_CLIENT_HOME /oes_sm_instances/< SM_NAME_AS _IN_PRP_FILE >

    10.      Create a sample application to validate the authorization request. Code Snippet is as follows-

    1.  public class HelloWBworld {
    2.   
    3.     public static void main(String[] args) {
    4.   
    5.        // user initiating Authorization request
    6.        Principal p = new WLSUserImpl("weblogic_wc");
    7.                System.out.println("HelloWBworld :: principal :: "+p);
    8.        Subject user = new Subject();
    9.        System.out.println("HelloWBworld :: Subject :: "+user);
    10.  
    11.       user.getPrincipals().add(p);
    12.               System.out.println("HelloWBworld :: Subject after add :: "+user);
    13.  
    14.       // Resource being accessed AppName/ResourceType/ResouceName
    15.       String resourceString = "HelloWBWorld/MyWBResourceType/MyWBResource";
    16. System.out.println("HelloWBworld :: resourceString :: "+resourceString);
    17.  
    18.       // Action initiated by the user
    19.       String action = "write";
    20. System.out.println("HelloWBworld :: action :: "+action);
    21.       // Environmental/Context attributes
    22.  
    23.       while (true)
    24.       {
    25.                 System.out.println("HelloWBworld :: while start ");
    26.          try {
    27.             // get Authorization response from OES
    28.             PepResponse response =
    29.                 PepRequestFactoryImpl.getPepRequestFactory()
    30.                         .newPepRequest(
    31.                                 user,
    32.                                 action,
    33.                                 resourceString,
    34.                                 null).decide();
    35.  
    36.             System.out.println("Request: {" + user + " " + action + " " + resourceString
    37.                      + "} \nResult: " + response.allowed());
    38.  
    39. //         } catch (PepException e) {
    40.          } catch (PepException e) {
    41.  
    42.             System.out.println("***** Caught exception: "
    43.                                 + e.getMessage());
    44.             e.printStackTrace();
    45.             System.exit(1);
    46.          }
    47.       }
    48.    };
    49. };
    11.      Run the program to check that it is authorizing the user initiating the resource request.




Comments

Popular posts from this blog

Adding UDF (User Defined Field) on create user page OIM 11g R2 PS1:-

    Login to Sysadmin console and create a Sandbox and activate it. Click on Form Designer and search for user form. 2.      Create a new field of desired type. 3.      Provide the Required Values for UDF creation and click save and close. UDF field will be added then publish the sand box. 4.      Login to Identity console now and create another sandbox and activate it. After sandbox is activated click on users link and the click on create user. 5.      Provide the mandatory values on the form and then click the customize button on top. Select source from the view. 6.      Select the panel where the field has to be added. Select panel form lay out click add content. Select Data component Catalog from the box. 7.      Select UserVO from the bottom. ...

Oracle Identity Cloud Service (IDCS)

   Oracle Identity Cloud Service i s the next generation comprehensive security and identity platform that is cloud-native and designed to be an integral part of the enterprise security fabric, providing modern identity for modern applications.  IDCS is a cloud-based identity management system that works by associating specific rights and restrictions with each user’s established identity. User provisioning, access control, and directory services are critical components of Oracle’s cloud-based security portfolio. Oracle Identity Cloud Service has been designed to meet the needs of organizations in a number of typical use-case scenarios, such as the cloud (allowing both on-premise and cloud resources to be secured from a single set of controls), mobile access (providing sign on for native or browser-based apps), employee-facing intranet and customer-facing extranet solutions.  Key Features: Oracle Identity Cloud Service provides the following functionali...

Oracle Traffic Director (OTD) configuration

Download the OTD software and install it on a server by running runInstaller command from <Binaries>/Disk1. Preferred is to configure the OTD as root user because when the administration server is configured as root, then Oracle Traffic Director starts the keepalived daemon automatically when you start instances that are part of a failover group, and stops the daemon when you stop the instances. Set Oracle_Home as the new Installed OTD Home. Run below command to configure the Admin server: <OTD_HOME>/otd/bin/tadm configure-server --port=8989 --user=admin --server-user=root --instance- home= <OTD_HOME> /otd/instance_name/otd_instance1 This command will ask for admin password and will create the admin server. Run Below command to start the admin server: <OTD_HOME> /otd/instance_name/otd_instance1/admin-server/bin/startserv Login to the OTD console on http://<host>:8989 as admin user.  Click New configuration: Click Next and create ne...