Oracle Fusion Middleware extensions for Logging and Diagnostic
11g Release 1 (11.1.1.6)

E22565-06

oracle.apps.fnd.appltest.diagfwk.engine.provider.security
Class SecurityProvider

java.lang.Object
  extended by oracle.apps.fnd.appltest.diagfwk.common.DiagBaseFactory
      extended by oracle.apps.fnd.appltest.diagfwk.engine.provider.security.SecurityProvider
All Implemented Interfaces:
DiagConstants
Direct Known Subclasses:
AbstractJPSSecurityProvider, CLIDevSecurityProvider

public abstract class SecurityProvider
extends DiagBaseFactory

Provider interface for checking security privileges for operations performed by the diagnostics engine.


Nested Class Summary
 
Nested classes/interfaces inherited from interface oracle.apps.fnd.appltest.diagfwk.common.DiagConstants
DiagConstants.ExecutionMode, DiagConstants.Format, DiagConstants.LinkType, DiagConstants.Status
 
Field Summary
protected static java.lang.String DEFAULT_DIAGNOSTICS_POLICY_STRIPE_NAME
          Name of the Diag JPS PolicyContext ID
 
Fields inherited from interface oracle.apps.fnd.appltest.diagfwk.common.DiagConstants
APPS_MSG_ID_TAG_NAME, CFG_ADR_PROVIDER_CLASS, CFG_CACHE_PROVIDER_CLASS, CFG_CRED_PROVIDER_CLASS, CFG_DAO_FACTORY_CLASS, CFG_DB_CONN_INFO_PROVIDER_CLASS, CFG_DB_CONN_PROVIDER_CLASS, CFG_NLS_PROVIDER_CLASS, CFG_PLSQL_PROVIDER_CLASS, CFG_PROFILE_PROVIDER_CLASS, CFG_SECURITY_PROVIDER_CLASS, CFG_SESSION_INFO_PROVIDER_CLASS, CFG_URL_PROVIDER_FACTORY_CLASS, CFG_WLS_MBEANSRV_CONNINFO_PROVIDER_CLASS, DATA_SECURITY_PERMISSION_ALLOWED, DATA_SECURITY_PERMISSION_NOT_ALLOWED, DELIM_URL, EXEC_MODE_CLI, EXEC_MODE_ESS, EXEC_MODE_INCIDENT, EXEC_MODE_JAVA, EXEC_MODE_UI, EXECUTABLE_TYPE_JAVA, EXECUTABLE_TYPE_PLSQL, EXECUTABLE_TYPE_TESTREF, FORMAT_HTML, FORMAT_XML, GUID_ORACLE_MINUS1, GUID_ORACLE_ZERO, INPUTS_STATUS_ALL_OPT_INPUTS, INPUTS_STATUS_NO_INPUTS, INPUTS_STATUS_REQ_INPUTS_NO_DEFAULTS, INPUTS_STATUS_REQ_INPUTS_W_DEFAULTS, IO_FLAG_I, IO_FLAG_O, JMX_API_BASE_OBJECT_NAME, LINK_EXTERNAL, LINK_INTERNAL, LINK_METALINK, N, NLS_BUNDLE_JAVA_RES, NLS_BUNDLE_MSG_SVC, NLS_BUNDLE_RES_REF, NLS_BUNDLE_XLIFF, NO, NULL, ODF_MBEAN_DOMAIN_NAME, PARAM_MON_INTERVAL, PLSQL_DEBUG_ENABLED_SYSTEM_PROP, PREREQ_TYPE_TAG_VALUE, PREREQ_TYPE_TEST, SECONDS_IN_ONE_DAY, SECONDS_IN_ONE_HOUR, STATUS_CANCELED, STATUS_EXECERROR, STATUS_FAILURE, STATUS_RUNNING, STATUS_SUCCESS, STATUS_WARNING, SYS_PROP_MAX_MONITOR_INTERNVAL, SYS_PROP_MAX_NUM_THREADS, SYSPROP_APPCONNFILE, SYSPROP_DIAG_CONFIG_FILE, TAG_TYPE_DIAG, TAG_TYPE_TAXONOMY, TEST_TYPE_DECL, TEST_TYPE_JAVA, USER_NAME, WEB_APP_NAME_TAG_NAME, Y, YES
 
Constructor Summary
SecurityProvider()
           
 
Method Summary
abstract  javax.security.auth.Subject authenticateUser(java.lang.String user, java.lang.String password)
          API to authenticate a user given the user/pw
abstract  void checkAccessJMXAPI(javax.security.auth.Subject wlsSubject)
           
abstract  java.util.Map<java.lang.String,java.lang.String> getAllUserRoles()
           
abstract  java.lang.String getDiagJPSPolicyContextID()
          This is a temporary method to return the JPS PolicyStore security context ID for the stripe containing Diagnostics roles so that we can get application roles in JMX/J2SE contexts.
abstract  java.util.List<java.lang.String> getEnterpriseRoleNames()
           
static java.lang.Boolean getIsDumpExec()
          Returns true if current thread is invoked via the ODF Diagnostic Dump.
static java.lang.Boolean getIsRemoteInAppExec()
          Returns true if current thread is invoked via the Remote-In-App JMX entry point.
abstract  java.lang.String getPillarJPSPolicyContextID()
          This is a temporary method to return the JPS PolicyStore security context ID for the current pillar so that we can get application roles in JMX contexts.
abstract  javax.security.auth.Subject getSubject()
           
abstract  java.lang.String getUserGUID()
           
abstract  java.lang.String getUserName()
           
static SecurityProvider instance()
          Returns an instance of a Security Provider based on the current configuration settings.
abstract  java.lang.Boolean isUserAuthenticated()
           
static void setIsDumpExec(java.lang.Boolean pIsDumpExec)
          Sets a state on the current thread indicating that diagnostics is being invoked via the ODF Diagnostic Dump.
static void setIsRemoteInAppExec(java.lang.Boolean pIsRemoteInAppExec)
          Sets a state on the current thread indicating that diagnostics is being invoked via the Remote-In-App JMX entry point.
 
Methods inherited from class oracle.apps.fnd.appltest.diagfwk.common.DiagBaseFactory
createClassLoader, loadClassFor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_DIAGNOSTICS_POLICY_STRIPE_NAME

protected static final java.lang.String DEFAULT_DIAGNOSTICS_POLICY_STRIPE_NAME
Name of the Diag JPS PolicyContext ID

See Also:
Constant Field Values
Constructor Detail

SecurityProvider

public SecurityProvider()
Method Detail

instance

public static SecurityProvider instance()
Returns an instance of a Security Provider based on the current configuration settings.

Returns:
an instance of a SecurityProvider class.

isUserAuthenticated

public abstract java.lang.Boolean isUserAuthenticated()
Returns:
true if the user is logged in/authenticated

authenticateUser

public abstract javax.security.auth.Subject authenticateUser(java.lang.String user,
                                                             java.lang.String password)
API to authenticate a user given the user/pw

Parameters:
user -
password -
Returns:
the Subject attached to the user

getSubject

public abstract javax.security.auth.Subject getSubject()
Returns:
the subject of the currently logged in user

getUserName

public abstract java.lang.String getUserName()
Returns:
the user name of the currently logged in user

getUserGUID

public abstract java.lang.String getUserGUID()
Returns:
the user GUID of the currently logged in user

getDiagJPSPolicyContextID

public abstract java.lang.String getDiagJPSPolicyContextID()
This is a temporary method to return the JPS PolicyStore security context ID for the stripe containing Diagnostics roles so that we can get application roles in JMX/J2SE contexts. The Policy Context ID is used to determine which "application" we're in to figure out what stripe of the policy store we need to traverse to look for app roles to attach to our subject's principals.

Returns:
application context ID as expected by the PolicyStore's application map for use in PolicyContext.setContextID

getPillarJPSPolicyContextID

public abstract java.lang.String getPillarJPSPolicyContextID()
This is a temporary method to return the JPS PolicyStore security context ID for the current pillar so that we can get application roles in JMX contexts. If the current pillar cannot be determined, fall back to the stripe containing diagnostics roles. This should be removed when proper JMX handling is in place since this is a hack. The Policy Context ID is used to determine which "application" we're in to figure out what stripe of the policy store we need to traverse to look for app roles to attach to our subject's principals.

Returns:
application context ID as expected by the PolicyStore's application map for use in PolicyContext.setContextID

getAllUserRoles

public abstract java.util.Map<java.lang.String,java.lang.String> getAllUserRoles()
Returns:
Map of [role name->role GUI]D for all enterprise, app roles contained in the currently logged in user's Subject.

getEnterpriseRoleNames

public abstract java.util.List<java.lang.String> getEnterpriseRoleNames()
Returns:
the list of enterprise role names contained in the currently logged in user's Subject.

checkAccessJMXAPI

public abstract void checkAccessJMXAPI(javax.security.auth.Subject wlsSubject)
Parameters:
wlsSubject - current user's WLS subject

setIsDumpExec

public static void setIsDumpExec(java.lang.Boolean pIsDumpExec)
Sets a state on the current thread indicating that diagnostics is being invoked via the ODF Diagnostic Dump. Note: This API is only meant to be called by the ODF Diagnostic Dump class.

Parameters:
pIsDumpExec - flag to indicate whether the current thread is invoked via the ODF Diagnostic Dump. If null any existing state is removed.

getIsDumpExec

public static java.lang.Boolean getIsDumpExec()
Returns true if current thread is invoked via the ODF Diagnostic Dump. Otherwise returns false.

Returns:
true if current thread is invoked via the ODF Diagnostic Dump. Otherwise returns false.

setIsRemoteInAppExec

public static void setIsRemoteInAppExec(java.lang.Boolean pIsRemoteInAppExec)
Sets a state on the current thread indicating that diagnostics is being invoked via the Remote-In-App JMX entry point. Note: This API is only meant to be called by the DiagTestExecutorMXBeanImpl.

Parameters:
pIsRemoteInAppExec - flag to indicate whether the current thread is invoked via the Remote-In-App JMX entry point. If null any existing state is removed.

getIsRemoteInAppExec

public static java.lang.Boolean getIsRemoteInAppExec()
Returns true if current thread is invoked via the Remote-In-App JMX entry point. Otherwise returns false.

Returns:
true if current thread is invoked via the Remote-In-App JMX entry point. Otherwise returns false.

Oracle Fusion Middleware extensions for Logging and Diagnostic
11g Release 1 (11.1.1.6)

E22565-06

Copyright © 2012 Oracle. All Rights Reserved.