planetj.dataengine.sqloperation
Class AuthenticationOperation

java.lang.Object
  extended byplanetj.database.Row
      extended byplanetj.dataengine.PropertyRow
          extended byplanetj.dataengine.operation.Operation
              extended byplanetj.dataengine.sqloperation.SQLOperation
                  extended byplanetj.dataengine.sqloperation.AuthenticationOperation
All Implemented Interfaces:
java.lang.Cloneable, IActionObject, IBatchProcessObject, IBusinessObject, ICSVRow, IFDFObject, IGuarded, INamedCollection, INavigationObject, IOperation, IOwner, IRowCreator, ISQLOperation, IXMLObject, java.io.Serializable
Direct Known Subclasses:
RefererAuthorizationOperation, RequireSignonAlways

public class AuthenticationOperation
extends SQLOperation

This operation type allows WOW application to check a persons rights (userid/pwd) before accessing a WOW application. Creation date: (7/8/03 10:15:05 AM)

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class planetj.database.Row
Row.SpacingRow
 
Field Summary
 
Fields inherited from class planetj.dataengine.sqloperation.SQLOperation
SQL_OP_APPLICABLE_PROPERTY_GROUPS
 
Fields inherited from class planetj.dataengine.operation.Operation
className
 
Fields inherited from class planetj.database.Row
DISPLAY_ORDER_COMPARATOR, MODE_ALTER, MODE_COPY, MODE_DELETE, MODE_INSERT, MODE_READ, MODE_SEARCH, MODE_UNKNOWN, MODE_UPDATE, mRowEventListeners
 
Fields inherited from interface planetj.dataengine.sqloperation.ISQLOperation
CACHING_LEVEL_CACHE_FOR_1_DAY, CACHING_LEVEL_CACHE_FOR_1_HOUR, CACHING_LEVEL_CACHE_FOR_1_WEEK, CACHING_LEVEL_CACHE_FOR_15_MINUTES, CACHING_LEVEL_CACHE_FOR_30_MINUTES, CACHING_LEVEL_CHECK_AND_STORE_IN_CACHE, CACHING_LEVEL_NO_CACHE, CACHING_LEVEL_ONLY_CHECK_CACHE, CACHING_LEVEL_ONLY_STORE_IN_CACHE, CURRENT_SQL_OPERATION, INSIDE_APPLICATION, SQL_OPERATION, SQL_OPERATION_HTTP_ID, SQL_OPERATION_ID, SQL_OPERATION_MODE, SQL_OPERATION_ONLY
 
Fields inherited from interface planetj.dataengine.operation.IOperation
ALLOW_DELETES, ALLOW_DETAILS, ALLOW_INSERTS, ALLOW_UPDATES, APPLICABLE_CODE_ONLY, APPLICABLE_ONLY_FOR_DISPLAY, APPLICABLE_ONLY_FOR_SQL, APPLICATION_ID, AUTHORIZE_EXECUTE_OPERATION, AUTO_RUN_ID, AUTO_RUN_STATUS, CACHE_LEVEL, CONNECTION_ALIAS, CSS_LINK_CLASS, CURRENT_FIELD, CURRENT_REQUEST, CURRENT_RESPONSE, CURRENT_ROW, CURRENT_ROW_COLLECTION, CURRENT_SERVLET, CURRENT_USER, DEPENDS_ON_ID, DESCRIPTION, DETAILS_JSP_FILE, DISPLAY_COLUMNS, DISPLAY_LOCATION, DISPLAY_LOCATION_LEFT, DISPLAY_LOCATION_TOP, DISPLAY_ORDER, DISPLAY_RULE, DISPLAY_RULE_HIDE, DISPLAY_RULE_UNKNOWN, ENCRYPTION_ID, EXECUTION_MODE, EXECUTION_MODE_NO, EXECUTION_MODE_YES, EXECUTION_RULE, EXECUTION_RULE_EXECUTE_ONLY, EXECUTION_RULE_EXECUTE_THEN_PROMPT, EXECUTION_RULE_PROMPT_THEN_EXECUTE, INSTRUCTIONS, JSP_FILE, LABEL, OPERATION_CLASS, OPERATION_CODE, OPERATION_DISPLAY_MODE, OPERATION_DISPLAY_MODE_FULL, OPERATION_DISPLAY_MODE_SKINNY, OPERATION_HTTP_ID, OPERATION_ID, OPERATION_SET, OPERATION_SQL, OPERATION_TABLE_NAME, OUTPUT_ALIAS, OWNER_ID, PARAMETERS_JSP_FILE, PARENT_ID, PERFORMACE_STATISTICS_ID, PROPERTIES, ROW_CLASS, ROW_COLLECTION_CLASS, ROW_COUNT, SECURITY_ID, SECURITY_TYPE, SET_NAME, THEME_ID, TITLE, TYPE, TYPE_ASSOCIATED_EXECUTION_GROUP, TYPE_ASSOCIATED_JAVA_OPERATION, TYPE_ASSOCIATED_JOIN, TYPE_ASSOCIATION_1_TO_1, TYPE_ASSOCIATION_1_TO_MANY, TYPE_AUTHENTICATION, TYPE_AUTO_POPULATE, TYPE_AUTORUN_BATCH_PROCESS, TYPE_AUTORUN_EMAIL, TYPE_BLOB_DOWNLOAD, TYPE_EMAIL, TYPE_EXECUTION_GROUP, TYPE_FILE_UPLOAD, TYPE_HTML_CODE, TYPE_HTML_CODE_ASSOCIATION, TYPE_HTML_REFERENCE, TYPE_HTML_REFERENCE_ASSOCIATION, TYPE_JAVA_OPERATION, TYPE_JSP_REFERENCE, TYPE_JSP_REFERENCE_ASSOCIATION, TYPE_POSSIBLE_VALUES, TYPE_POSSIBLE_VALUES_SEARCH, TYPE_POSSIBLE_VALUES_SELECTOR, TYPE_REFERER_AUTHORIZATION_OPERATION, TYPE_SQL, TYPE_TABBED, TYPE_TABBED_ASSOCIATION, TYPE_UNKNOWN, TYPE_USER_AUTHENTICATION_LIST_OPERATION, TYPE_USER_AUTHORIZATION_LIST_OPERATION, TYPE_USER_AUTHORIZATION_OPERATION, TYPE_VIEW_SELECTED_ASSOCIATION, USAGE_ID
 
Fields inherited from interface planetj.dataengine.security.IGuarded
TYPE_ID_UNKNOWN, TYPE_NAME_FIELD, TYPE_NAME_SQLOPERATION, TYPE_SECURED_BY_LEVEL, TYPE_SECURED_BY_OPERATION, TYPE_UNSECURED
 
Constructor Summary
AuthenticationOperation()
           
 
Method Summary
static AuthenticationOperation buildDefaultAuthenticationOperation(Application app)
          Builds a default authentication operation which queries the USER table.
 java.lang.String getDefaultOperationCode()
          Return a default string to use on the operation field.
 boolean isAlreadySignedOn(java.lang.String userName, ISecured secured, boolean wowDefault, ExecutingContext ec)
          Tests if the user has already signed on to the app.
 
Methods inherited from class planetj.dataengine.sqloperation.SQLOperation
createInsertObject, createInsertObject, dataTransferred, delete, execute, execute, execute, getActionNamesForType, getApplicablePropertyGroupNames, getCachingLevel, getCachingTimeMillis, getConnectionAlias, getConnectionRow, getContextClass, getDescription, getEncryptionId, getHeaderText, getInnerResultsJsp, getInsertRow, getInstructions, getNewContextInternal, getNewSQLOperationContext, getNewSQLOperationContext, getOperationSQL, getParametersJspFile, getPerformanceStatisticsId, getReportBreakCollection, getSecuredTypeId, getSecuredTypeName, getSetName, getThemeId, getTranslatedLabel, getTranslatedTitle, isCallStatement, isDeleteStatement, isFieldApplicable, isInsertStatement, isRowCollectionOperation, isSelectStatement, isSQLParameterized, isUpdateStatement, isUserPromptingRequired, postExecute, preExecute, setAllowDeletes, setAllowDetails, setAllowInserts, setAllowUpdates, setApplication, setApplicationId, setAutoRunId, setCacheLevel, setConnectionAlias, setDescription, setDisplayOrder, setEncryptionId, setInstructions, setIsSQLParameterized, setJspFile, setLabel, setOperationSetName, setOperationSQL, setOwnerId, setParametersJspFile, setPerformanceStatisticsId, setReportBreakCollection, setRowPropertyGroupsInternal, setSecurityId, setSetName, setThemeId, setTitle, setType, update, validate, validate
 
Methods inherited from class planetj.dataengine.operation.Operation
adjustRequest, createAction, createMagicRequest, createMagicRequest, createMagicRequest, createMagicRequest, createMagicRequest, createRow, createSQLContextForDelete, createSQLContextForInsert, createSQLContextForUpdate, execute, execute, execute, execute, execute, getActionDefaultLocation, getActionDescriptor, getActions, getActionsForType, getApplication, getApplicationId, getApplicationIdAsInteger, getAutoRunId, getAutoRunOperation, getAutoRunStatus, getChildren, getConnectionAlias, getConnectionRow, getCSSLinkClass, getCurrentTab, getDeleteConfirmationMessage, getDependants, getDependsOn, getDependsOnId, getDependsOnIdAsInteger, getDetailsJspFile, getDisplayColumns, getDisplayColumnsAsString, getDisplayColumnsAsStringArray, getDisplayLocation, getDisplayOrder, getDisplayRule, getExecutionRule, getFieldDefaultValue, getId, getIdAsInteger, getJspFile, getLabel, getLayoutProperties, getNavigationSuffix, getNewContext, getNewContext, getNewContextInternal, getOperationClass, getOperationCode, getOperationHandledActionNames, getOperationSetName, getOriginalInstructions, getOutputAlias, getOwnerId, getOwnerIdField, getParent, getParentId, getParentIdAsInteger, getPropertyFieldName, getRowClass, getRowClassName, getRowCollectionClass, getRowCollectionClassName, getRowCount, getRowPropertyGroups, getSecurityId, getSecurityType, getTitle, getTitleForDisplay, getType, getUsageId, getUserMessageForOperation, hasDependants, initializeRow, insert, isAllowDeletes, isAllowDetails, isAllowInserts, isAllowUpdates, isAssociation, isAuthentication, isAuthorizedForExecution, isAutoPopulate, isAutoRunOperation, isBlobDownload, isChild, isContextCurrent, isDependant, isDisplayable, isDisplayRule, isExecutionGroup, isFileUpload, isHide, isHtml, isHTMLAssociation, isHtmlCode, isHtmlCodeAssocation, isHtmlReference, isHtmlReferenceAssociation, isJava, isJavaAssociation, isJSPReference, isJSPReferenceAssociation, isOneToManyAssociation, isOneToOneAssociation, isParent, isPleaseWait, isPossibleValues, isPossibleValuesSearch, isPossibleValuesSelector, isSQL, isSQLAssociation, isTabDataOperation, isUserAuthenticationListOperation, isUserAuthorizationListOperation, isUserAuthorizationOperation, openForExecution, postDelete, postInsert, prepareForRun, setCurrentTab, setDefaultOperationCode, setDisplayColumns, setDisplayColumns, setDisplayColumns, setId, setId, setOperationCode, setRowClass, setRowClassInternal, setRowClassName, setRowClassNameInternal, setRowCollectionClass, setRowCollectionClassInternal, setRowCollectionClassName, setRowCollectionClassNameInternal, setRowCount, setUsageId, statusChanged, toString, validateOperationCode
 
Methods inherited from class planetj.dataengine.PropertyRow
getProperties, getRowPropertyGroup, getRowPropertyGroups, setProperties, setPropertiesInternal, setRowPropertyGroups, transferDataTo, transferPropertiesTo
 
Methods inherited from class planetj.database.Row
add, add, addObject, addPropertyChangeListener, addPropertyChangeListener, addRowEventListener, addRowEventListeners, addTable, addToRowCollection, appendDisplayType, batchProcess, clearFields, clearTables, clearValidationException, clone, cloneRow, commitFieldValues, commitFieldValues, commitFieldValues, concatenateFieldFullLengthValues, concatenateFieldValues, containsField, copy, copyIntoRowFieldsWithCommonFieldNames, copyIntoRowFieldsWithCommonFieldNames, copyIntoRowFieldsWithCommonUsageIds, copyIntoRowFieldsWithGivenFieldNames, copyIntoRowFieldsWithGivenFieldNames, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, create, createNamedActionRequest, defaultMerge, delete, delete, delete, deleteObject, divide, duplicateKey, duplicateKey, enforceExclusiveOr, equals, equals, equalsInstance, fieldHasPossibleValuesSQLOperation, firePropertyChange, fireRowEvent, getActionRequest, getActionRequest, getActionsForFields, getActionsForOperation, getAssociation, getAssociation, getAssociationByOperationUsageId, getAssociationOperation, getAttribute, getAutoIncrementDatabaseDrivenField, getBackgroundColor, getChangedFields, getColumnSpan, getCompleteRow, getCompleteRow, getConcurrentFields, getConfigProperty, getCopiedFieldValues, getCreationContext, getCSVRow, getCSVRow, getDatabaseRow, getDatabaseRow, getDatabaseRow, getDatabaseRow, getDBSystem, getDeleteConfirmation, getDisjointRowClass, getDisplayValue, getDisplayValueByUsageId, getDisplayValueForKey, getErrorMessageForOperation, getExternalName, getExternalNames, getFDFData, getFDTable, getField, getField, getField, getFieldAssociationOperation, getFieldCollection, getFieldDescriptor, getFieldDescriptor, getFieldDescriptor, getFieldDescriptorsWithUsage, getFieldDescriptorsWithUsageId, getFieldDescriptorWithUsageId, getFieldDisplayComponent, getFieldDisplayOrder, getFieldDisplayValue, getFieldDisplayValue, getFieldExternalName, getFieldFieldClassParameters, getFieldFieldSetName, getFieldIncrementor, getFieldMaxLength, getFieldNames, getFieldNames, getFieldPossibleValues, getFields, getFields, getFieldSearchDefaultValue, getFieldSets, getFieldsForInsert, getFieldSQLObject, getFieldStatusChange, getFieldsToDisplay, getFieldsToDisplayStrict, getFieldsToDisplayStrict, getFieldStyleClass, getFieldsWithUsageId, getFieldUsageIds, getFieldValue, getFieldValueWithUsageId, getFieldWithUsageId, getHorizontalAlignment, getJSPFor, getKeyFieldNames, getKeyFields, getKeyFields, getLibraryName, getMaxFieldLengths, getMaxFieldLengths, getMaxInsertRetries, getMetaDataSystemAlias, getNamed, getNamed, getNamesOfUpdatedFields, getNavigationKey, getNavigationListKey, getNextOperationToRun, getOperation, getOperation, getOperationFromDB, getOperationFromDBByUsage, getPercentage, getPhysicalFieldNames, getPossibleValueClass, getPossibleValueClass, getPossibleValues, getPossibleValuesKey, getPossibleValuesOperation, getPropertyChangeSupport, getPropertyGroup, getPropertyGroups, getPropertyGroups, getReplacementFieldsToDisplay, getReplacementFieldsToDisplay, getRequiredFields, getRow, getRowCollection, getRowDisplayAttributes, getRowDisplayAttributes, getRowHandledActionNames, getRowKey, getSQL, getSQLContext, getStaticAttribute, getStaticAttributes, getSum, getSystemAlias, getTabbedOperation, getTable, getTable, getTableName, getTables, getTimestamp, getUpdatedFields, getUserMessageForOperation, getUseWOWLibrary, getValidationExceptions, getValueAsBoolean, getValueAsByte, getValueAsDate, getValueAsDate, getValueAsDouble, getValueAsDouble, getValueAsFloat, getValueAsFullLengthString, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsNumber, getValueAsNumber, getValueAsShort, getValueAsString, getValueAsString, getValueAsStringByUsageId, getValueByUsageId, getValueForKey, getValues, getXMLData, getXMLData, getXMLHeaderData, goToNextOperation, handleAction, hasAssociationOperation, hasChildRows, hasMultipleStyleClasses, hasPossibleValuesKeyClassOrOp, hasPossibleValuesOperation, hasPropertyChangeListeners, incrementFieldValue, initializeRow, initializeRow, initializeRow, initializeRow, initializeRow, insert, insert, insert, is, isActionApplicable, isActionRepeatable, isARow, isARowCollection, isChanged, isChanged, isChangedRealTime, isChangedSinceLastCheck, isCloneNeeded, isContainsAllFields, isCopyable, isCurrent, isDeletable, isDistinctRow, isEditable, isEmpty, isFieldAuthorizedForEdit, isFieldAuthorizedForRead, isFieldAutoIncrement, isFieldAutoIncrementDatabaseDriven, isFieldAutoIncrementWOWDriven, isFieldDisplayable, isFieldPresent, isFieldReadOnly, isFieldReadOnlyOnSearch, isFieldRequired, isFieldRequiredOnSearch, isFieldsChanged, isFieldUpdateable, isFieldValueNotBlank, isFieldValuePossibleValue, isFieldValuesDatabaseDefaults, isGenerateChildRows, isGroupByRow, isGuarded, isHasColumnNames, isInARowCollection, isIncrementorResetAfterMaxInsertRetries, isInitializeDerivedFieldEnabled, isInitializeDerivedFieldsEnabled, isJoinedRow, isKeyFieldsPresent, isLogicalRow, isMultipleDeleteEnabled, isParameterRow, isPersistent, isPhysicalRow, isPrepareFieldValue, isPropertyChangeEventsEnabled, isReturningFromPossibleValuesSearch, isRowDisplayable, isRowKeyed, isSelectable, isStatusChange, isToBeSelected, isUnionRow, isUpdateable, isUseRowForFieldSets, isValidateDerivedFields, isValidateRequired, isValidationRequiredForAutoPopulate, isViewable, iterator, joinedDatabaseAccessFailure, joinedDelete, joinedDelete, joinedInsert, joinedInsert, joinedUpdate, joinedUpdate, merge, newField, newField, newField, newField, openFor, persist, populate, populate, populate, populateFD, postCreate, postExtract, postInsert, postUpdate, postUpdate, preDelete, preInsert, prepareForDetails, prepareForParameters, prepareForResultsDisplay, prepareFromFieldNames, preUpdate, removeField, removeField, removeNavigationKey, removePropertyChangeListener, removePropertyChangeListener, removeRowEventListener, removeRowEventListeners, replaceField, replaceFields, replaceFieldValues, replaceNumbersWithNames, reread, rereadIfNeeded, resetDisplayValues, rollbackChanges, runSQLQuery, runSQLQuery, runSQLStatement, runSQLStatement, setAttribute, setAutoUpdateFieldValues, setCreationContext, setCreationOperation, setFieldInitialValue, setFieldValue, setFieldValue, setFieldValue, setFieldValue, setFieldValueAsString, setFieldValueAsString, setFieldValuesAsDate, setFieldValuesToDefault, setFieldValuesWithCommonFieldNames, setFieldValuesWithCommonFieldNames, setFieldValuesWithCommonFieldNames, setFieldValuesWithCommonUsageIds, setFieldValueToDefault, setMultipleDeleteEnabled, setNavigationKey, setParameterRow, setPersistent, setPropertyChangeEventsEnabled, setPropertyGroups, setReturningFromPossibleValuesSearch, setRowDisplayAttributes, setSavepoint, setSavepoint, setSavepoint, setStaticAttribute, setTables, setTables, setUseWOWLibrary, setValidateDerivedFields, setValidateRequired, setValues, size, splitAndSetFieldValues, swapFieldValues, toCSV, toDOC, toDOC, toFDF, toPDF, toPDF, toString, toUpperCase, toXML, transferDataTo, update, update, update, updateFieldValues, updateGlobalValues, updateObject, validate, validateField, validateRowOperation
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface planetj.dataengine.application.IOwner
getOwnerIdField
 
Methods inherited from interface planetj.dataengine.action.IActionObject
getActionRequest, getActionRequest, handleAction, isActionApplicable
 

Constructor Detail

AuthenticationOperation

public AuthenticationOperation()
Method Detail

buildDefaultAuthenticationOperation

public static AuthenticationOperation buildDefaultAuthenticationOperation(Application app)
                                                                   throws CMException
Builds a default authentication operation which queries the USER table. The new operation is inserted into the SQLOPS table and returned. FD's are copied as necessary into the field data file to support the new operation

Throws:
CMException

getDefaultOperationCode

public java.lang.String getDefaultOperationCode()
Return a default string to use on the operation field. Subclasses can override to provide a context sensitive op code. The list of Strings returned from an authentication operation are used to compare to the Strings returned from a secured operation or secured field. If the users match, then access is allowed.

Overrides:
getDefaultOperationCode in class SQLOperation

isAlreadySignedOn

public boolean isAlreadySignedOn(java.lang.String userName,
                                 ISecured secured,
                                 boolean wowDefault,
                                 ExecutingContext ec)
                          throws CMException
Tests if the user has already signed on to the app. If this operation returns a different value than the default, it is also responsible for adding or removing the SignOnReceipt from the session (if necessary)

Parameters:
userName - The user name (this may be null if the user name is unknown)
secured - The secured object being signed onto (usually the application)
wowDefault - Whether or not WOW thinks the user has signed on (the default behavior)
ec - The current ExecutingContext
Throws:
CMException