public class SecurityService extends AppService implements Service, SecurityServiceRemote
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
clientHostDelim
For clientHostAddr input params to authenticateUser, this is the delimiter separating
the clientHost and clientAddr parts of the param.
|
static int |
LANDLORDTENANTID
The tenant id reservedfor LANDLORD tenant.
|
static java.lang.String |
SAMESYSTEMCONNECTIONKEYPERTHREAD |
static java.lang.String |
TENANTDBUSERNAMETOKEN |
ADMIN_LOGOUT, BROWSER_TIMEOUT, SERVER_TIMEOUT, SERVER_TIMEOUT_SESSIONREMOVAL, USER_LOGOUT
APPLOGGER, CRONTASKLOGGER, CRONTASKMGRLOGGER, CRONTASKMGRSQLLOGGER, DBCONNECTIONLOGGER, DDLOGGER, DMLOGGER, EVENTLOGGER, EXCEPTIONLOGGER, MAILLOGGER, MAXIMOLOGGER, MTLOGGER, NULLMBOPOINTER, SECURITY, SENDFAILEDLOGGER, SERVICELOGGER, SQLLOGGER
appenderPrefix, LOGGERNAME_APP, LOGGERNAME_CRONTASK, LOGGERNAME_CRONTASKMGR, LOGGERNAME_DBCONNECTION, LOGGERNAME_DD, LOGGERNAME_DM, LOGGERNAME_DMPREVIEW, LOGGERNAME_EVENT, LOGGERNAME_EXCEPTION, LOGGERNAME_MAIL, LOGGERNAME_MAXIMO, LOGGERNAME_MT, LOGGERNAME_NULLMBOPOINTER, LOGGERNAME_SECURITY, LOGGERNAME_SENDFAILED, LOGGERNAME_SERVICE, LOGGERNAME_SQL, LOGGERNAME_SQL_CRONTASKMGR, LOGGERNAME_TXN, loggerPrefix
Constructor and Description |
---|
SecurityService(MXServer mxServer)
Construct from the MXServer
|
SecurityService(java.lang.String url)
Construct the security service on the specified database
|
SecurityService(java.lang.String url,
MXServer mxServer) |
Modifier and Type | Method and Description |
---|---|
boolean |
allowNewSessions() |
void |
associateTenantsToConsultant(java.lang.String loginID,
java.util.List<ConsultantInfo> alltenants)
Associate or disassociate a consultant user to a list of tenants.
|
UserInfo |
authenticateApiKey()
Authenticate api key token
|
UserInfo |
authenticateApiKey(int tenantId)
Authenticate api key token
|
UserInfo |
authenticateApiKey(java.lang.String tenantCode)
Authenticate api key token
|
UserInfo |
authenticateApiKey(java.lang.String tenantCode,
java.lang.String userId)
Authenticate api key token
|
UserInfo |
authenticateSessionToken(java.lang.String userId,
java.lang.String sessionToken) |
UserInfo |
authenticateSessionTokenM(java.lang.String[] userAndTenant,
java.lang.String sessionToken) |
UserInfo |
authenticateThisApiKey(java.lang.String apiKey)
Authenticate api key token
|
UserInfo |
authenticateToken()
Authenticate S2stoken for the SSM.
|
UserInfo |
authenticateUser(java.lang.String userIdentity)
Call
authenticateUser with second parameter False
(not silent login). |
UserInfo |
authenticateUser(java.lang.String userIdentity,
boolean silentLogin)
Authenticate internally connected privileged user.
|
UserInfo |
authenticateUser(java.lang.String user,
java.lang.Object cert,
java.lang.String password,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String clientHostAddr) |
UserInfo |
authenticateUser(java.lang.String loginID,
java.lang.Object cert,
java.lang.String password,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String siteId,
java.lang.String clientHostAddr)
Authenticate the maximo user using maximo authentication as well as X509Certificate
for the user identified as loginID.
|
UserInfo |
authenticateUser(java.lang.String user,
java.lang.String password,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String clientHostAddr)
Wrapper method, calls
authenticateUser . |
UserInfo |
authenticateUser(java.lang.String loginID,
java.lang.String password,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String siteId,
java.lang.String clientHostAddr)
Authenticate the specified user name and password against the
database user domain.
|
UserInfo |
authenticateUser(java.lang.String user,
java.lang.String password,
java.lang.String clientHostAddr)
Wrapper method, calls
authenticateUser . |
UserInfo |
authenticateUserForLoginID(java.lang.String[] loginID,
boolean silentLogin) |
UserInfo |
authenticateUserForLoginID(java.lang.String loginID,
boolean silentLogin)
Same as
authenticateUser , but
input param is LoginID. |
UserInfo |
authenticateUserForLoginIDAndTenantID(java.lang.String[] loginID,
boolean silentLogin) |
UserInfo |
authenticateUserM(java.lang.String[] userIdentity,
boolean silentLogin)
The tenant has to be passed from userIdentify[1] or it has to be set by the context.
|
UserInfo |
authenticateUserM(java.lang.String[] user,
java.lang.Object cert,
java.lang.String password,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String clientHostAddr) |
UserInfo |
authenticateUserM(java.lang.String[] loginID,
java.lang.Object cert,
java.lang.String password,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String siteId,
java.lang.String clientHostAddr) |
UserInfo |
authenticateUserM(java.lang.String[] user,
java.lang.String password,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String clientHostAddr) |
UserInfo |
authenticateUserM(java.lang.String[] loginID,
java.lang.String password,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String siteId,
java.lang.String clientHostAddr) |
UserInfo |
authenticateUserM(java.lang.String[] user,
java.lang.String password,
java.lang.String clientHostAddr) |
UserInfo |
authenticateUserMTenantID(java.lang.String[] userIdentity,
boolean silentLogin) |
void |
blockConsultantUser(MboRemote landlordUser) |
java.sql.Connection |
changeToAdminUser(UserInfo lndlordInfo)
Switch context to the admin user.
|
void |
checkConcurrentUser(java.lang.String userId,
java.lang.String loginID)
Checks if another user of same id already logged in or not.
|
boolean |
checkIfUserLoaded(java.lang.String loginID,
int intendedTenancy)
For multi-tenant environment do not allow to set fields for consultant user.
|
void |
checkUniqueLoginID(java.lang.String loginID) |
void |
configure(java.util.Properties configData)
Configuration information passed on creation of the service
|
boolean |
createDb2TenantDbUserId(UserInfo landlordUi,
java.lang.String tenantDbUserId)
Creates "soft" (non-OS level) DB2 tenant database user by granting necessary privileges.
|
java.util.Map<java.lang.String,java.lang.String> |
createExtensionView(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>> tableNames,
java.util.Set<java.lang.String> deleteTables)
Get lsit of objects which were changted (but not configured yet) by Master
|
void |
destroy()
Call to destroy the service
|
void |
disconnectUser(java.lang.String userid,
long maxsessionid,
int disconnectType,
java.lang.String adminUserID)
Delete or inactivate from maxsession table and delete from users cache.
|
void |
disconnectUser(UserInfo userInfo)
Deprecated.
Call
disconnectUser . |
void |
disconnectUser(UserInfo userInfo,
int disconnectType)
Delete or inactivate from maxsession and remove from users cache.
|
java.lang.String |
generateSessionToken(UserInfo userInfo,
java.lang.String sessionId) |
psdi.security.SecurityService.AllowNewSessions |
getAllowNewSessions() |
java.lang.String |
getDBUrl()
Return the database url
dbURL . |
java.lang.String |
getDBUserNameForTenant(UserInfo landlordUserInfo)
Get the database user of the tenant id.
|
java.lang.String |
getLtpaToken(javax.servlet.http.HttpServletRequest request)
Get LPTA Token cookie value from request.
|
int |
getMasterConfigLevel()
Get Configure level for Master Configuration
|
MboValueInfo |
getMasterMboValueInfo(MboRemote tenantMbo)
Get MboValueInfo for Master for given object and atribute
|
java.util.Map<java.lang.String,java.lang.String> |
getMasterModifiedObjects()
Get lsit of objects which were changted (but not configured yet) by Master
|
ProfileRemote |
getProfile(java.lang.String userID)
Get a user's security profile.
|
ProfileRemote |
getProfile(UserInfo userInfo)
Get a user's security profile by calling
getSecurityInfo . |
java.lang.String |
getRealmName()
Get the realm name for the current tenant.
|
int |
getSessionCounter()
Return number of sessions last counted.
|
UserInfo |
getSystemUserInfo()
An internal method to construct the system user information
that's used to access all business objects.
|
UserInfo |
getTempUserInfoForTenant(UserInfo landlordUserInfo,
int tenantID,
java.lang.String tenantUserName,
java.lang.String tenantLoginID,
java.lang.String dbUserName,
java.util.Locale l,
java.lang.String langCode)
Get the temporary UserInfo for the tenant.
|
java.lang.String |
getTenantCode(UserInfo ui)
Get tenant code of the UserInfo.
|
java.lang.String |
getURL()
Gets the URL value
|
UserInfo |
getUserInfo(AuthenticatedAccessToken session,
java.util.Locale locale,
java.util.TimeZone timeZone)
}
|
UserInfo |
getUserInfo(AuthenticatedAccessToken session,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String clientHost,
java.lang.String clientAddr)
This call is made by an already authenticated user session that's
trying to get access to business objects.
|
UserInfo |
getUserInfo(AuthenticatedAccessToken session,
java.lang.Object cert,
java.util.Locale locale,
java.util.TimeZone timeZone) |
UserInfo |
getUserInfo(AuthenticatedAccessToken session,
java.lang.Object cert,
java.util.Locale locale,
java.util.TimeZone timeZone,
java.lang.String clientHost,
java.lang.String clientAddr)
Returns a UserInfo object based on the session data passed.
|
UserInfo |
getUserInfo(java.lang.String userIdentity)
This is an internal method that should not be exposed through Remote
Interface.
|
void |
init()
Initialize the Application Service.
|
void |
initLandlordUserInfo()
Called by MXServer only.
|
void |
invalidateLtpaToken(javax.servlet.http.HttpServletRequest request)
Add LPTA Token to list of invalid tokens.
|
boolean |
isAppService()
Used by ServiceCoordinator
|
boolean |
isConsultantFieldModified(MboRemote landlordMbo)
Returns true if the mbo has updates in the consultant-related field.
|
static boolean |
isLandlord(int tenantID)
Whehter the tenant id is the landlord's tenant id.
|
boolean |
isSingletonService()
Is used to setup singleton services, i.e.
|
boolean |
isSystemUserInfo(UserInfo ui)
Check whether the passed in UserInfo object is a system user info.
|
boolean |
isUser(UserInfo userinfo,
java.lang.String loginCheck,
java.lang.String passCheck)
Is this user the same one specified in the input params?
Called from
AppService verifyUser . |
boolean |
isValidDBUser(UserInfo lndlordInfo,
java.lang.String tenantDbUserId)
Validate the database user name.
|
boolean |
isValidDBUserForMT(UserInfo landlordUI,
java.lang.String dbUserName)
Validate the database user name.
|
boolean |
isValidTenant(java.lang.String tenantCode)
Check whether the tenant code is a known tenant code by this server.
|
static boolean |
killLtpaToken()
Should LTPA token be added to invalid token list upon logout.
|
java.util.Map<java.lang.String,java.util.List<java.util.List<java.lang.String>>> |
loadCopyFieldsInfo() |
void |
populateConsultantFields(MboRemote landlordMbo,
MboRemote tenantMbo)
This method is used to populate fields for associating a consultant mbo with a tenant.
|
void |
populateConsultantFields(java.lang.String origLoginID,
java.lang.String newLoginID,
MboRemote landlordMbo)
Populate the landlord mbo's change to the associated tenants.
|
void |
processConsultant(MboRemote consultMbo,
boolean isConsultant,
boolean validate)
For multi-tenant environment do not allow to set fields for consultant user.
|
void |
processVMMParameters(LoadVMMSyncSettings settings)
Process the VMMSync properties for MT.
|
void |
refreshProfile(java.lang.String userID,
Profile profile)
Refresh SecurityInfo Profile cache.
|
void |
refreshProfile(UserInfo userInfo,
Profile profile)
Refresh SecurityInfo Profile cache.
|
void |
refreshSecurityInfo(java.lang.String userID,
MboRemote userMbo,
MboRemote personMbo)
Update UserInfo, UserLoginDetails, and/or Profile (as appropriate) and update SecurityInfo
with the new data.
|
void |
registerConsultantUserListener()
Registers the consult user event listener, so when data is changed for consultant users, the change will populate to associated tenants.
|
void |
reloadTenantReg(java.lang.String tenantCode) |
void |
resetSystemUserInfo()
clear the cached system userinfo
|
void |
restart()
Indicates that the Service should reload any cached
information.
|
void |
setSystemCredential(UserInfo uiObject) |
void |
setURL(java.lang.String url)
Used by ServiceCoordinator
|
void |
validateLtpaToken(javax.servlet.http.HttpServletRequest request)
Check if LPTA Token is in list of invalid tokens.
|
checkSecurity, freeDBConnection, freeMboSet, getCriteria, getCurrentState, getDBConnection, getLiveObjCount, getLoad, getMaximoDD, getMaxVar, getMboSet, getMXServer, getName, getProxy, getSchemaOwner, getServiceInfo, getServiceLogger, getSetForRelationship, getSetFromKeys, getStateCmdList, getStateList, initCriteriaList, isRunning, setProxy, setRunning, verifyUser, verifyUser
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
public static final java.lang.String SAMESYSTEMCONNECTIONKEYPERTHREAD
public static final java.lang.String TENANTDBUSERNAMETOKEN
public static java.lang.String clientHostDelim
public static final int LANDLORDTENANTID
public SecurityService(MXServer mxServer) throws java.rmi.RemoteException
java.rmi.RemoteException
AppService(MXServer)
public SecurityService(java.lang.String url) throws java.rmi.RemoteException
java.rmi.RemoteException
public SecurityService(java.lang.String url, MXServer mxServer) throws java.rmi.RemoteException
java.rmi.RemoteException
AppService(MXServer)
,
AppService.setURL(java.lang.String)
public void configure(java.util.Properties configData)
configure
in interface Service
configure
in class AppService
Service
public void init()
AppService
init
in interface Service
init
in class AppService
AppService.init()
,
AdminModeManager
public void initLandlordUserInfo()
public void destroy()
destroy
in interface Service
destroy
in class AppService
Service
public UserInfo authenticateUser(java.lang.String user, java.lang.String password, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
authenticateUser
.
Assigns the MXServer locale and timezone to the returned UserInfo object.authenticateUser
in interface SecurityServiceRemote
user
- Login ID.password
- User passwordclientHostAddr
- The client host and address (delimited by clientHostDelim), used for maxsession tableMXException
java.rmi.RemoteException
authenticateUser(String, String, Locale, TimeZone, String, String)
public UserInfo authenticateUserM(java.lang.String[] user, java.lang.String password, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
authenticateUserM
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
authenticateUserM(String[], String, String)
public UserInfo authenticateUser(java.lang.String user, java.lang.String password, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
authenticateUser
.
Assigns the MXServer locale and timezone to the returned UserInfo object.authenticateUser
in interface SecurityServiceRemote
user
- Login ID.password
- User passwordlocale
- User localetimeZone
- User time zoneclientHostAddr
- The client host and address (delimited by clientHostDelim), used for maxsession tableMXException
java.rmi.RemoteException
authenticateUser(String, String, Locale, TimeZone, String, String)
public UserInfo authenticateUserM(java.lang.String[] user, java.lang.String password, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
authenticateUserM
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
psdi.security.SecurityService#authenticateUserM(String, String, Locale, TimeZone, String)
public UserInfo authenticateUser(java.lang.String user, java.lang.Object cert, java.lang.String password, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
authenticateUser
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
authenticateUser(String, Object, String, Locale, TimeZone, String)
public UserInfo authenticateUserM(java.lang.String[] user, java.lang.Object cert, java.lang.String password, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
authenticateUserM
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
psdi.security.SecurityService#authenticateUserM(String, Object, String, Locale, TimeZone, String)
public UserInfo authenticateUser(java.lang.String loginID, java.lang.Object cert, java.lang.String password, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String siteId, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
authenticateUser
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
authenticateUser(String, Object, String, Locale, TimeZone, String, String)
public UserInfo authenticateUserM(java.lang.String[] loginID, java.lang.Object cert, java.lang.String password, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String siteId, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
authenticateUserM
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
psdi.security.SecurityService#authenticateUserM(String, Object, String, Locale, TimeZone, String, String)
public UserInfo authenticateUser(java.lang.String loginID, java.lang.String password, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String siteId, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
If the user is blocked (maxuser.status) or is invalid for other reasons (e.g. wrong password or no row in MaxUser), then the user is bad; Throw the "NoLogin" error.
authenticateUser
in interface SecurityServiceRemote
loginID
- Validated against maxuser.loginidpassword
- User passwordlocale
- User localetimeZone
- User time zonesiteId
- User SiteclientHostAddr
- The client host and address, used for maxsession table. Host and address are delimited by #clientHostDelim
.MXException
java.rmi.RemoteException
verifyUser(java.lang.String, java.lang.String, psdi.mbo.MboRemote)
,
registerUser(psdi.mbo.MboRemote, java.util.Locale, java.util.TimeZone, long, java.lang.String, java.lang.String)
,
users
,
MaxUser.isBlocked()
,
MaxUser.addLoginTracking(String)
,
MaxUser.addMaxSession()
,
MaxUser
,
MAXSession
,
LoginTracking
,
commonUserValidation(java.lang.String, boolean, java.lang.String, java.lang.String)
public UserInfo authenticateToken() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
authenticateUser(String, String, Locale, TimeZone, String, String)
public UserInfo authenticateApiKey() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
authenticateUser(String, String, Locale, TimeZone, String, String)
public UserInfo authenticateThisApiKey(java.lang.String apiKey) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
authenticateUser(String, String, Locale, TimeZone, String, String)
public UserInfo authenticateApiKey(java.lang.String tenantCode) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
authenticateUser(String, String, Locale, TimeZone, String, String)
public UserInfo authenticateApiKey(int tenantId) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
authenticateUser(String, String, Locale, TimeZone, String, String)
public UserInfo authenticateApiKey(java.lang.String tenantCode, java.lang.String userId) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
authenticateUser(String, String, Locale, TimeZone, String, String)
public UserInfo authenticateUserM(java.lang.String[] loginID, java.lang.String password, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String siteId, java.lang.String clientHostAddr) throws MXException, java.rmi.RemoteException
authenticateUserM
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
psdi.security.SecurityService#authenticateUserM(String, String, Locale, TimeZone, String, String)
public java.lang.String generateSessionToken(UserInfo userInfo, java.lang.String sessionId) throws MXException, java.rmi.RemoteException
generateSessionToken
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
public UserInfo authenticateSessionToken(java.lang.String userId, java.lang.String sessionToken) throws MXException, java.rmi.RemoteException
authenticateSessionToken
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
public UserInfo authenticateSessionTokenM(java.lang.String[] userAndTenant, java.lang.String sessionToken) throws MXException, java.rmi.RemoteException
authenticateSessionTokenM
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
public UserInfo getUserInfo(AuthenticatedAccessToken session, java.lang.Object cert, java.util.Locale locale, java.util.TimeZone timeZone) throws MXException, java.rmi.RemoteException
getUserInfo
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
getUserInfo(AuthenticatedAccessToken, Object, Locale, TimeZone, String, String)
public UserInfo getUserInfo(AuthenticatedAccessToken session, java.lang.Object cert, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String clientHost, java.lang.String clientAddr) throws MXException, java.rmi.RemoteException
getUserInfo
in interface SecurityServiceRemote
session
- cert
- locale
- timeZone
- clientHost
- clientAddr
- MXException
java.rmi.RemoteException
getUserInfo(AuthenticatedAccessToken, Object, Locale, TimeZone, String, String)
public UserInfo getUserInfo(AuthenticatedAccessToken session, java.util.Locale locale, java.util.TimeZone timeZone) throws MXException, java.rmi.RemoteException
getUserInfo
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
#getUserInfo(AuthenticatedAccessToken, Locale, timeZone, null, null)
public UserInfo getUserInfo(AuthenticatedAccessToken session, java.util.Locale locale, java.util.TimeZone timeZone, java.lang.String clientHost, java.lang.String clientAddr) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
SecurityServiceRemote.getUserInfo(psdi.security.AuthenticatedAccessToken,
java.util.Locale, java.util.TimeZone)
,
commonUserValidation(java.lang.String, boolean, java.lang.String, java.lang.String)
,
registerUser(psdi.mbo.MboRemote, java.util.Locale, java.util.TimeZone, long, java.lang.String, java.lang.String)
public UserInfo authenticateUser(java.lang.String userIdentity) throws MXException, java.rmi.RemoteException
authenticateUser
with second parameter False
(not silent login).
This method should NOT be exposed remotely!userIdentity
- MXException
java.rmi.RemoteException
public UserInfo authenticateUserForLoginID(java.lang.String loginID, boolean silentLogin) throws MXException, java.rmi.RemoteException
authenticateUser
, but
input param is LoginID. This is for use by the MEA group.loginID
- Login IDsilentLogin
- Normally this should be False. Extreme care should be exercised when using True.MXException
java.rmi.RemoteException
getUserIDForLoginID(java.lang.String[], psdi.security.UserInfo)
,
authenticateUser(String, boolean)
public UserInfo authenticateUserForLoginID(java.lang.String[] loginID, boolean silentLogin) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public UserInfo authenticateUserForLoginIDAndTenantID(java.lang.String[] loginID, boolean silentLogin) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public UserInfo authenticateUser(java.lang.String userIdentity, boolean silentLogin) throws MXException, java.rmi.RemoteException
getUserInfo
.
In multitenant environment, the tenant context should have been established.userIdentity
- UserID for the user to be authenticated.silentLogin
- If True, MaxSession and LoginTracking records will not be written (silent login).
If False, they will be written, as for a regular login.
Also, authenticateUser
calls this with False.MXException
java.rmi.RemoteException
getUserMbo(java.lang.String, psdi.security.UserInfo, boolean)
,
registerUser(psdi.mbo.MboRemote, java.util.Locale, java.util.TimeZone, long, java.lang.String, java.lang.String)
,
MaxUser.addLoginTracking(String)
public UserInfo authenticateUserM(java.lang.String[] userIdentity, boolean silentLogin) throws MXException, java.rmi.RemoteException
userIdentity
- silentLogin
- MXException
java.rmi.RemoteException
public UserInfo authenticateUserMTenantID(java.lang.String[] userIdentity, boolean silentLogin) throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public UserInfo getUserInfo(java.lang.String userIdentity) throws MXException, java.rmi.RemoteException
If the user has already been authenticated, return the existing UserInfo.
Otherwise, construct a new, skeletal UserInfo via
createUserInfo
with null Mbo parameter.
userIdentity
- user idMXException
java.rmi.RemoteException
getUserMbo(java.lang.String, psdi.security.UserInfo, boolean)
,
createUserInfo(psdi.mbo.MboRemote, java.util.Locale, java.util.TimeZone, long, java.lang.String, java.lang.String, java.lang.String)
public boolean isUser(UserInfo userinfo, java.lang.String loginCheck, java.lang.String passCheck) throws MXException, java.rmi.RemoteException
AppService verifyUser
.isUser
in interface SecurityServiceRemote
userinfo
- The userinfo for the session we're verifyingloginCheck
- The loginid to verify.passCheck
- The password to verify.MXException
java.rmi.RemoteException
isUser(psdi.security.UserInfo, java.lang.String, java.lang.String)
public void checkConcurrentUser(java.lang.String userId, java.lang.String loginID) throws java.rmi.RemoteException, MXException
mxe.enableConcurrentCheck
is true.checkConcurrentUser
in interface SecurityServiceRemote
userId
- loginID
- java.rmi.RemoteException
MXException
checkConcurrentUser(java.lang.String, java.lang.String)
public UserInfo getSystemUserInfo() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
getUserInfo(String)
public boolean isSystemUserInfo(UserInfo ui)
ui
- public void setSystemCredential(UserInfo uiObject) throws MXException
MXException
public ProfileRemote getProfile(UserInfo userInfo) throws MXException, java.rmi.RemoteException
getSecurityInfo
.getProfile
in interface MboServerInterface
getProfile
in interface SecurityServiceRemote
getProfile
in class AppService
userInfo
- UserInfoMXException
java.rmi.RemoteException
getSecurityInfo(psdi.security.UserInfo)
public ProfileRemote getProfile(java.lang.String userID) throws MXException, java.rmi.RemoteException
users
, then return null.userID
- User IDMXException
java.rmi.RemoteException
public void refreshProfile(UserInfo userInfo, Profile profile)
user
- UserInfoProfile
- for this userrefreshProfile(String, Profile)
public void refreshProfile(java.lang.String userID, Profile profile)
userID
- User IDProfile
- for this userSecurityInfo#refreshProfile
,
Profile
public void refreshSecurityInfo(java.lang.String userID, MboRemote userMbo, MboRemote personMbo) throws MXException, java.rmi.RemoteException
users
cache.
This does NOT update the Profile info related to security groups, application access, etc.
refreshSecurityInfo
in interface SecurityServiceRemote
userID
- The userID to be updated.userMbo
- MaxUser mbo to use for refreshing user cache. Can be null if no changes.personMbo
- Person mbo to use for refreshing user profile. Can be null if no changes.MXException
java.rmi.RemoteException
refreshSecurityInfo(java.lang.String, psdi.mbo.MboRemote, psdi.mbo.MboRemote)
public java.lang.String getDBUrl()
dbURL
.getDBUrl
in interface SecurityServiceRemote
getDBUrl()
public void disconnectUser(UserInfo userInfo)
disconnectUser
.disconnectUser
in interface SecurityServiceRemote
disconnectUser(UserInfo)
public void disconnectUser(UserInfo userInfo, int disconnectType)
disconnectUser
in interface SecurityServiceRemote
userInfo
- The UserInfo being disconnected. This contains the userid and sessionid.disconnectType
- SecurityServiceRemote SERVER_TIMEOUT, BROWSER_TIMEOUT, USER_LOGOUT
.removeUserFromCache(java.lang.String, long, int, java.lang.String)
,
MXServer.clearUserInput(psdi.security.UserInfo)
public void disconnectUser(java.lang.String userid, long maxsessionid, int disconnectType, java.lang.String adminUserID)
disconnectUser
in interface SecurityServiceRemote
userid
- The userid being disconnected.maxsessionid
- The sessionid being disconnected.disconnectType
- SecurityServiceRemote SERVER_TIMEOUT, BROWSER_TIMEOUT, ADMIN_LOGOUT, USER_LOGOUT
.adminUserID
- If disconnectType is ADMIN_LOGOUT, then this is the UserID of the administrative user initiating the logout.
Otherwise, this is null.removeUserFromCache(java.lang.String, long, int, java.lang.String)
public java.lang.String getURL()
getURL
in interface AppServiceRemote
getURL
in interface Service
getURL
in interface ServiceRemote
getURL
in class AppService
public void setURL(java.lang.String url)
AppService
setURL
in interface Service
setURL
in class AppService
public boolean isAppService()
AppService
isAppService
in interface Service
isAppService
in interface ServiceRemote
isAppService
in class AppService
public void restart() throws java.rmi.RemoteException
AppService
restart
in interface ServiceRemote
restart
in class AppService
java.rmi.RemoteException
public boolean isSingletonService()
isSingletonService
in interface Service
isSingletonService
in interface ServiceRemote
isSingletonService
in class AppService
public int getSessionCounter()
getSessionCounter
in interface SecurityServiceRemote
SessionCounter#getSessionCounter
public boolean isValidTenant(java.lang.String tenantCode)
tenantCode
- public java.lang.String getTenantCode(UserInfo ui) throws MXException, java.rmi.RemoteException
getTenantCode
in interface SecurityServiceRemote
tenantCode
- MXException
java.rmi.RemoteException
public static boolean isLandlord(int tenantID)
tenantID
- public void reloadTenantReg(java.lang.String tenantCode) throws MXException
MXException
public UserInfo getTempUserInfoForTenant(UserInfo landlordUserInfo, int tenantID, java.lang.String tenantUserName, java.lang.String tenantLoginID, java.lang.String dbUserName, java.util.Locale l, java.lang.String langCode) throws MXException
landlordUserInfo
- the Landlord UserInfo objecttenantID
- MXException
public boolean createDb2TenantDbUserId(UserInfo landlordUi, java.lang.String tenantDbUserId) throws MXException, java.rmi.RemoteException
landlordUi
- tenantDbUserId
- MXException
java.rmi.RemoteException
public boolean isValidDBUserForMT(UserInfo landlordUI, java.lang.String dbUserName) throws MXException, java.rmi.RemoteException
landlordUI
- dbUserName
- MXException
java.rmi.RemoteException
public java.lang.String getDBUserNameForTenant(UserInfo landlordUserInfo) throws MXException
tenantID
- MXException
public java.util.Map<java.lang.String,java.lang.String> getMasterModifiedObjects() throws MXException
serverName
- MXException
public MboValueInfo getMasterMboValueInfo(MboRemote tenantMbo) throws MXException
tenantMbo
- Tenant MboMXException
public java.util.Map<java.lang.String,java.lang.String> createExtensionView(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>> tableNames, java.util.Set<java.lang.String> deleteTables) throws MXException
serverName
- MXException
public int getMasterConfigLevel() throws MXException
serverName
- MXException
public void resetSystemUserInfo()
public java.lang.String getRealmName() throws MXException, java.rmi.RemoteException
getRealmName
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
public boolean allowNewSessions() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public psdi.security.SecurityService.AllowNewSessions getAllowNewSessions()
public void processVMMParameters(LoadVMMSyncSettings settings) throws java.rmi.RemoteException, MXException
settings
- settings that need to be updated.MXException
java.rmi.RemoteException
public void checkUniqueLoginID(java.lang.String loginID) throws java.rmi.RemoteException, MXException
checkUniqueLoginID
in interface SecurityServiceRemote
java.rmi.RemoteException
MXException
public void associateTenantsToConsultant(java.lang.String loginID, java.util.List<ConsultantInfo> alltenants) throws MXException, java.rmi.RemoteException
associateTenantsToConsultant
in interface SecurityServiceRemote
MXException
java.rmi.RemoteException
public void populateConsultantFields(java.lang.String origLoginID, java.lang.String newLoginID, MboRemote landlordMbo) throws MXException, java.rmi.RemoteException
populateConsultantFields
in interface SecurityServiceRemote
origLoginID
- The original loginid (not the changed one if it has changed) of the consultant user.newLoginID
- The current loginid of the consultant user.landlordMbo
- The mbo in the landlord context that has changed fields. This can be a MAXUSER, PERSON, PHONE or EMAIL object.MXException
java.rmi.RemoteException
public void populateConsultantFields(MboRemote landlordMbo, MboRemote tenantMbo) throws MXException, java.rmi.RemoteException
objectName
- The object name of the mbo.landlordMbo
- The mbo in the landlord space. To be copied to tenant.tenantMbo
- The tenant mbo to be populated with values from the landlordMbo.isNew
- Is this a newly created Mbo? If it is, need to populate primry key values alsoMXException
java.rmi.RemoteException
public java.util.Map<java.lang.String,java.util.List<java.util.List<java.lang.String>>> loadCopyFieldsInfo() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public void processConsultant(MboRemote consultMbo, boolean isConsultant, boolean validate) throws MXException, java.rmi.RemoteException
validate
- is this method validate (called from appValidate) or set value to read only (called init)MXException
java.rmi.RemoteException
public boolean checkIfUserLoaded(java.lang.String loginID, int intendedTenancy) throws MXException, java.rmi.RemoteException
validate
- is this method validate (called from appValidate) or set value to read only (called init)MXException
java.rmi.RemoteException
public java.sql.Connection changeToAdminUser(UserInfo lndlordInfo) throws MXException, java.rmi.RemoteException
con
- database connectionMXException
java.rmi.RemoteException
public boolean isValidDBUser(UserInfo lndlordInfo, java.lang.String tenantDbUserId) throws MXException, java.rmi.RemoteException
landlordUI
- dbUserName
- MXException
java.rmi.RemoteException
public void registerConsultantUserListener() throws MXException, java.rmi.RemoteException
MXException
java.rmi.RemoteException
public boolean isConsultantFieldModified(MboRemote landlordMbo) throws MXException, java.rmi.RemoteException
isConsultantFieldModified
in interface SecurityServiceRemote
landlordMbo
- MXException
java.rmi.RemoteException
public void blockConsultantUser(MboRemote landlordUser) throws java.rmi.RemoteException, MXException
java.rmi.RemoteException
MXException
public java.lang.String getLtpaToken(javax.servlet.http.HttpServletRequest request)
public static boolean killLtpaToken()
public void validateLtpaToken(javax.servlet.http.HttpServletRequest request) throws MXException, java.rmi.RemoteException
request
- MXException
java.rmi.RemoteException
public void invalidateLtpaToken(javax.servlet.http.HttpServletRequest request) throws MXException, java.rmi.RemoteException
request
- MXException
java.rmi.RemoteException