Skip to main content

Enabling Remote User in Weblogic

Most of the Application use “OAM_REMOTE_USER” or “Proxy-remote-user” for the SSO setup which is sent by OAM in the Header. But some applications (like some Apex apoplications) still use “REMOTE_USER” for SSO with OAM. This Remote_user is generated by Weblogic itself based on the user authenticated and retrieved by method “request.getRemoteUser()”. With version 10.3.x this method was deprecated and not enabled automatically with start of weblogic as it opens a security vulnerability. However this Remote user can be enabled explicitly when weblogic is started with the Run time argument “-Dweblogic.http.enableRemoteUserHeader=true”. Add this value in JAVA Properties of setDomainenv.sh and Remote user will be enabled. Please note that this is not preferred way to do that as the logged in user can be retrieved with “proxy-remote-user” header but can be solution in the case many applications are using “request.getRemoteUser()” method for SSO setup.

Comments

  1. Hello Shikhar, Can you please help me out in Enabling Remote User in Integrated Weblogic server 11g environment. I've tried to make these settings in both the setDomainenv.sh and also the startWebLogic.cmd files, but the value is coming as "Null", any leads would be great. Thanks in advance.

    ReplyDelete
    Replies
    1. Which Weblogic version are you using ? I have checked this with 10.3.6 version and it works. I searched on Oracle support site and found this note: Session Data Randomly Lost in WSRP Portlet Due to HttpServletRequest.getRemoteUser() Returning Null (Doc ID 964822.1). If you have access of support site look at this note.

      Delete

Post a Comment

Popular posts from this blog

Developing Prepopulate Adapter with OIM 11g R2

1.      Prepopulate Adapter in OIM uses the plugin point oracle.iam.request.plugins.PrePopulationAdapte r. 2.      Write the Java code which returns the value which has to be populated on the form. 3.      This code will implement the plugin point oracle.iam.request.plugins.PrePopulationAdapte r. Code Snippet: - package com.oracle.oim.utility.eventhandler; import java.io.Serializable; import java.util.Iterator; import java.util.List; import java.util.logging.Logger; import oracle.iam.identity.exception.NoSuchUserException; import oracle.iam.identity.exception.UserLookupException; import oracle.iam.identity.usermgmt.api.UserManager; import oracle.iam.identity.usermgmt.vo.User; import oracle.iam.platform.Platform; import oracle.iam.platform.authz.exception.AccessDeniedException; import oracle.iam.request.exception.RequestServiceException; import oracle.iam.request.vo.Beneficiary; import oracle.iam.request.vo.RequestData; public c

OIM Tuning

Application Module tuning is a critical setting which will affect the UI performance. Following are the recommended application module settings for OIM and these are already set out-of-box (OOB) in later releases of OIM 11g R2. Ensure that these settings are implemented as recommended in your environment. -Djbo.ampool.doampooling=true -Djbo.ampool.minavailablesize=1 -Djbo.ampool.maxavailablesize=120 -Djbo.recyclethreshold=60 - Djbo.ampool.timetolive=-1 -Djbo.load.components.lazily=true - Djbo.doconnectionpooling=true -Djbo.txn.disconnect_level=1 - Djbo.connectfailover=false -Djbo.max.cursors=5 - Doracle.jdbc.implicitStatementCacheSize=5 - Doracle.jdbc.maxCachedBufferSize=19 open DOMAIN_HOME/bin/setDomainEnv.sh file for the WebLogic Server instance.find these lines: JAVA_OPTIONS="${JAVA_OPTIONS}" export JAVA_OPTIONS and change it to: JAVA_OPTIONS="-Djbo.ampool.doampooling=true -Djbo.ampool.minavailablesize=1 -Djbo.ampool.maxavailablesize=120 -D

Creating Role through OIM API - 11gR2

package com.oim.utilities; import java.util.HashMap; import oracle.iam.identity.rolemgmt.api.RoleManager; import oracle.iam.identity.rolemgmt.api.RoleManagerConstants; import oracle.iam.identity.rolemgmt.vo.Role; import oracle.iam.platform.OIMClient; public class RoleManagement  { static RoleManager roleManager=null; static OIMClient client=null; @SuppressWarnings("null") public static void createRole(String roleName){ System.out.println("RoleManagement :: createRole :: role name is "+roleName); try  { if (roleName!=null) { HashMap<String, Object> mapAttrs = new HashMap<String, Object>();; mapAttrs.put(RoleManagerConstants.ROLE_NAME, roleName); mapAttrs.put(RoleManagerConstants.ROLE_DISPLAY_NAME,roleName); mapAttrs.put(RoleManagerConstants.ROLE_DESCRIPTION, roleName); Role role = new Role(mapAttrs); // Initialising the OIM Connection client=ClientOIM.initialise(); System.out.println("RoleManagemen