public class NoLogonDataAvailableException extends UMException
This exception is thrown when user mapping data for a combination of principal and backend system is requested, but there is no user mapping data available (which fits the system's configured logon method).
You can use getReason()
to distinguish between different reasons
that led to this exception and react accordingly.
Modifier and Type | Field and Description |
---|---|
static int |
REASON_ACCESS_DENIED
Access to sensitive information of the user mapping data has been denied.
|
static int |
REASON_CRYPTO_MISMATCH
The encryption modes used to save and now read the user mapping data are
incompatible.
|
static int |
REASON_KEY_CHANGED
Strongly encrypted user mapping data can not be decrypted because the
main key used for user mapping encryption has been changed after saving
the user mapping data.
|
static int |
REASON_MULTIPLE_MAPPING
There are several local users mapped to the same backend user.
|
static int |
REASON_NO_CERTIFICATE
There is no existing certificate for the user for which the request for
user mapping data has been issued.
|
static int |
REASON_NO_DATA
No user mapping data has been saved for the current user / system
combination (so this is no error, just an information).
|
static int |
REASON_NO_KEY
Strongly encrypted user mapping data can not be decrypted because the
main key used for user mapping encryption is not available.
|
static int |
REASON_NO_TICKET
here is no existing SAP logon ticket for the user for which the request
for user mapping data has been issued.
|
static int |
REASON_NORMAL_MAPPING_BUT_REFSYS
User mapping data has been saved for a system that was not the SAP
reference system at the time of saving, but now the system is the SAP
reference system.
|
static int |
REASON_NOT_REQUIRED
The logon method of the system for which user mapping data has been
requested is
ILoginConstants.SSO_JCO_LOGON_METHOD_NONE , meaning
that the system does not require authentication, so user mapping does not
need to provide any credentials. |
static int |
REASON_POLICY_FILES_MISSING
Strongly encrypted user mapping data can not be decrypted on this machine
because the so-called
"JCE policy files for unlimited strength encryption" are missing.
|
static int |
REASON_REFSYS_MAPPING_SIGNATURE_MISSING
The "digital signature" protecting user mappings for the SAP reference
system from unauthorized changes is missing (SAP note 1107795).
|
static int |
REASON_UNKNOWN
User mapping data is not available because of an unknown reason.
|
static int |
REASON_UNSUPPORTED_LOGON_METHOD
The logon method of the system for which user mapping data has been
requested is either not supported in general or at least not supported in
the current scenario, i.e. for the variant of
IUserMappingData.enrich(*) which is used. |
m_throwable, mMessageBuffer
Constructor and Description |
---|
NoLogonDataAvailableException()
Create a
NoLogonDataAvailableException without further
information. |
NoLogonDataAvailableException(String message)
Create a
NoLogonDataAvailableException with a specific error
message. |
NoLogonDataAvailableException(String message,
int reason)
Create a
NoLogonDataAvailableException with a specific error
message and an error code. |
Modifier and Type | Method and Description |
---|---|
int |
getReason()
Get the error code of the reason that caused this exception.
|
addMessage, getLocalizedMessage, getMessage, getMessages, getNestedException
addSuppressed, fillInStackTrace, getCause, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public static final int REASON_UNKNOWN
public static final int REASON_NO_DATA
public static final int REASON_CRYPTO_MISMATCH
The encryption modes used to save and now read the user mapping data are incompatible.
Example: User mapping data has been saved with weak encryption. In the meanwhile, the administrator switched to strong encryption, but didn't use the conversion facility to migrate all existing user mapping data. Now the user mapping data is still weakly encrypted, but a system configured to use strong encryption does not accept weakly encrypted user mapping data for security reasons.
public static final int REASON_MULTIPLE_MAPPING
There are several local users mapped to the same backend user.
Only relevant for
IUserMapping.getInverseMappingData(String, ISystemLandscapeObject)
and overloaded methods with the same name.
public static final int REASON_POLICY_FILES_MISSING
Strongly encrypted user mapping data can not be decrypted on this machine because the so-called "JCE policy files for unlimited strength encryption" are missing.
These files need to be installed in every JDK installation used by the SAP AS Java cluster, i.e. on every cluster node. See SAP note 796540 for further details.
public static final int REASON_KEY_CHANGED
public static final int REASON_NO_TICKET
here is no existing SAP logon ticket for the user for which the request for user mapping data has been issued.
Only relevant for
IUserMappingData.enrich(Properties)
and
systems with logon method "SAPLogonTicket"
(
ILoginConstants.SSO_JCO_LOGON_METHOD_TICKET
).
public static final int REASON_NO_CERTIFICATE
There is no existing certificate for the user for which the request for user mapping data has been issued.
Only relevant for
IUserMappingData.enrich(Properties)
and
systems with logon method "X509CERT"
(
ILoginConstants.SSO_JCO_LOGON_METHOD_X509CERT
).
public static final int REASON_NO_KEY
public static final int REASON_NORMAL_MAPPING_BUT_REFSYS
User mapping data has been saved for a system that was not the SAP reference system at the time of saving, but now the system is the SAP reference system.
Background: User mapping data for the SAP reference system needs to be verified when being saved for security reasons. Verification is not done for other systems, so "normal" user mappings can not be used for the SAP reference system, but need to be "refreshed" (entered again).
public static final int REASON_ACCESS_DENIED
Access to sensitive information of the user mapping data has been denied.
public static final int REASON_REFSYS_MAPPING_SIGNATURE_MISSING
public static final int REASON_UNSUPPORTED_LOGON_METHOD
IUserMappingData.enrich(*)
which is used.public static final int REASON_NOT_REQUIRED
ILoginConstants.SSO_JCO_LOGON_METHOD_NONE
, meaning
that the system does not require authentication, so user mapping does not
need to provide any credentials.public NoLogonDataAvailableException()
NoLogonDataAvailableException
without further
information.public NoLogonDataAvailableException(String message)
NoLogonDataAvailableException
with a specific error
message.message
- The message text for the exception.public NoLogonDataAvailableException(String message, int reason)
Create a NoLogonDataAvailableException
with a specific error
message and an error code.
The code can be retrieved by getReason()
and can be used e.g. to
programmatically handle different reasons for user mapping data being
missing.
message
- The message text for the exception.reason
- The reason for the exception. One of the constants starting
by REASON_
.Access Rights |
---|
SC | DC | Public Part | ACH |
---|---|---|---|
[sap.com] CORE-TOOLS
|
[sap.com]
|
default
|
BC-JAS
|
[sap.com] ENGFACADE
|
[sap.com] tc/je/usermanagement/api
|
api
|
BC-JAS-SEC
|
[sap.com] ENGINEAPI
|
[sap.com]
|
-
|
BC-JAS-SEC-UME
|
[sap.com] ENGINEAPI
|
[sap.com]
|
default
|
BC-JAS-SEC-UME
|
Copyright 2018 SAP AG Complete Copyright Notice