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 |
ADMIN_LOGOUT, BROWSER_TIMEOUT, SERVER_TIMEOUT, SERVER_TIMEOUT_SESSIONREMOVAL, USER_LOGOUTAPPLOGGER, CRONTASKLOGGER, CRONTASKMGRLOGGER, CRONTASKMGRSQLLOGGER, DBCONNECTIONLOGGER, DDLOGGER, DMLOGGER, EVENTLOGGER, EXCEPTIONLOGGER, MAILLOGGER, MAXIMOLOGGER, MTLOGGER, NULLMBOPOINTER, SECURITY, SENDFAILEDLOGGER, SERVICELOGGER, SQLLOGGERappenderPrefix, 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 |
authenticateSessionToken(java.lang.String userId,
java.lang.String sessionToken) |
UserInfo |
authenticateSessionTokenM(java.lang.String[] userAndTenant,
java.lang.String sessionToken) |
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) |
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.
|
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.
|
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.
|
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.
|
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 |
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
|
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, verifyUserequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetNamepublic static final java.lang.String SAMESYSTEMCONNECTIONKEYPERTHREAD
public static java.lang.String clientHostDelim
public static final int LANDLORDTENANTID
public SecurityService(MXServer mxServer) throws java.rmi.RemoteException
java.rmi.RemoteExceptionAppService.AppService(MXServer)public SecurityService(java.lang.String url)
throws java.rmi.RemoteException
java.rmi.RemoteExceptionpublic SecurityService(java.lang.String url,
MXServer mxServer)
throws java.rmi.RemoteException
java.rmi.RemoteExceptionAppService.AppService(MXServer),
AppService.setURL(java.lang.String)public void configure(java.util.Properties configData)
configure in interface Serviceconfigure in class AppServiceServicepublic void init()
AppServiceinit in interface Serviceinit in class AppServiceAppService.init(),
AdminModeManagerpublic void initLandlordUserInfo()
public void destroy()
destroy in interface Servicedestroy in class AppServiceServicepublic 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 SecurityServiceRemoteuser - Login ID.password - User passwordclientHostAddr - The client host and address (delimited by clientHostDelim), used for maxsession tableMXExceptionjava.rmi.RemoteExceptionauthenticateUser(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 SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionauthenticateUserM(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 SecurityServiceRemoteuser - Login ID.password - User passwordlocale - User localetimeZone - User time zoneclientHostAddr - The client host and address (delimited by clientHostDelim), used for maxsession tableMXExceptionjava.rmi.RemoteExceptionauthenticateUser(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 SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionpsdi.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 SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionauthenticateUser(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 SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionpsdi.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 SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionauthenticateUser(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 SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionpsdi.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 SecurityServiceRemoteloginID - 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.MXExceptionjava.rmi.RemoteExceptionverifyUser(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 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 SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionpsdi.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 SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionpublic UserInfo authenticateSessionToken(java.lang.String userId, java.lang.String sessionToken) throws MXException, java.rmi.RemoteException
authenticateSessionToken in interface SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionpublic UserInfo authenticateSessionTokenM(java.lang.String[] userAndTenant, java.lang.String sessionToken) throws MXException, java.rmi.RemoteException
authenticateSessionTokenM in interface SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionpublic UserInfo getUserInfo(AuthenticatedAccessToken session, java.lang.Object cert, java.util.Locale locale, java.util.TimeZone timeZone) throws MXException, java.rmi.RemoteException
getUserInfo in interface SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptiongetUserInfo(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 SecurityServiceRemotesession - cert - locale - timeZone - clientHost - clientAddr - MXExceptionjava.rmi.RemoteExceptiongetUserInfo(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 SecurityServiceRemoteMXExceptionjava.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
MXExceptionjava.rmi.RemoteExceptionSecurityServiceRemote.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 - MXExceptionjava.rmi.RemoteExceptionpublic 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.MXExceptionjava.rmi.RemoteExceptiongetUserIDForLoginID(java.lang.String[], psdi.security.UserInfo),
authenticateUser(String, boolean)public UserInfo authenticateUserForLoginID(java.lang.String[] loginID, boolean silentLogin) throws MXException, java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic UserInfo authenticateUserForLoginIDAndTenantID(java.lang.String[] loginID, boolean silentLogin) throws MXException, java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic 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.MXExceptionjava.rmi.RemoteExceptiongetUserMbo(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 - MXExceptionjava.rmi.RemoteExceptionpublic UserInfo authenticateUserMTenantID(java.lang.String[] userIdentity, boolean silentLogin) throws MXException, java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic 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 idMXExceptionjava.rmi.RemoteExceptiongetUserMbo(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 SecurityServiceRemoteuserinfo - The userinfo for the session we're verifyingloginCheck - The loginid to verify.passCheck - The password to verify.MXExceptionjava.rmi.RemoteExceptionisUser(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 SecurityServiceRemoteuserId - loginID - java.rmi.RemoteExceptionMXExceptioncheckConcurrentUser(java.lang.String, java.lang.String)public UserInfo getSystemUserInfo() throws MXException, java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptiongetUserInfo(String)public boolean isSystemUserInfo(UserInfo ui)
ui - public void setSystemCredential(UserInfo uiObject) throws MXException
MXExceptionpublic ProfileRemote getProfile(UserInfo userInfo) throws MXException, java.rmi.RemoteException
getSecurityInfo.getProfile in interface MboServerInterfacegetProfile in interface SecurityServiceRemotegetProfile in class AppServiceuserInfo - UserInfoMXExceptionjava.rmi.RemoteExceptiongetSecurityInfo(psdi.security.UserInfo)public ProfileRemote getProfile(java.lang.String userID) throws MXException, java.rmi.RemoteException
users, then return null.userID - User IDMXExceptionjava.rmi.RemoteExceptionpublic 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,
Profilepublic 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 SecurityServiceRemoteuserID - 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.MXExceptionjava.rmi.RemoteExceptionrefreshSecurityInfo(java.lang.String, psdi.mbo.MboRemote, psdi.mbo.MboRemote)public java.lang.String getDBUrl()
dbURL.getDBUrl in interface SecurityServiceRemotegetDBUrl()public void disconnectUser(UserInfo userInfo)
disconnectUser.disconnectUser in interface SecurityServiceRemotedisconnectUser(UserInfo)public void disconnectUser(UserInfo userInfo, int disconnectType)
disconnectUser in interface SecurityServiceRemoteuserInfo - 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 SecurityServiceRemoteuserid - 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 AppServiceRemotegetURL in interface ServicegetURL in interface ServiceRemotegetURL in class AppServicepublic void setURL(java.lang.String url)
AppServicesetURL in interface ServicesetURL in class AppServicepublic boolean isAppService()
AppServiceisAppService in interface ServiceisAppService in interface ServiceRemoteisAppService in class AppServicepublic void restart()
throws java.rmi.RemoteException
AppServicerestart in interface ServiceRemoterestart in class AppServicejava.rmi.RemoteExceptionpublic boolean isSingletonService()
isSingletonService in interface ServiceisSingletonService in interface ServiceRemoteisSingletonService in class AppServicepublic int getSessionCounter()
getSessionCounter in interface SecurityServiceRemoteSessionCounter#getSessionCounterpublic boolean isValidTenant(java.lang.String tenantCode)
tenantCode - public java.lang.String getTenantCode(UserInfo ui) throws MXException, java.rmi.RemoteException
getTenantCode in interface SecurityServiceRemotetenantCode - MXExceptionjava.rmi.RemoteExceptionpublic static boolean isLandlord(int tenantID)
tenantID - public void reloadTenantReg(java.lang.String tenantCode)
throws MXException
MXExceptionpublic 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 - MXExceptionpublic boolean createDb2TenantDbUserId(UserInfo landlordUi, java.lang.String tenantDbUserId) throws MXException, java.rmi.RemoteException
landlordUi - tenantDbUserId - MXExceptionjava.rmi.RemoteExceptionpublic boolean isValidDBUserForMT(UserInfo landlordUI, java.lang.String dbUserName) throws MXException, java.rmi.RemoteException
landlordUI - dbUserName - MXExceptionjava.rmi.RemoteExceptionpublic java.lang.String getDBUserNameForTenant(UserInfo landlordUserInfo) throws MXException
tenantID - MXExceptionpublic java.util.Map<java.lang.String,java.lang.String> getMasterModifiedObjects()
throws MXException
serverName - MXExceptionpublic MboValueInfo getMasterMboValueInfo(MboRemote tenantMbo) throws MXException
tenantMbo - Tenant MboMXExceptionpublic 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 - MXExceptionpublic int getMasterConfigLevel()
throws MXException
serverName - MXExceptionpublic void resetSystemUserInfo()
public java.lang.String getRealmName()
throws MXException,
java.rmi.RemoteException
getRealmName in interface SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionpublic boolean allowNewSessions()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic psdi.security.SecurityService.AllowNewSessions getAllowNewSessions()
public void processVMMParameters(LoadVMMSyncSettings settings) throws java.rmi.RemoteException, MXException
settings - settings that need to be updated.MXExceptionjava.rmi.RemoteExceptionpublic void checkUniqueLoginID(java.lang.String loginID)
throws java.rmi.RemoteException,
MXException
checkUniqueLoginID in interface SecurityServiceRemotejava.rmi.RemoteExceptionMXExceptionpublic void associateTenantsToConsultant(java.lang.String loginID,
java.util.List<ConsultantInfo> alltenants)
throws MXException,
java.rmi.RemoteException
associateTenantsToConsultant in interface SecurityServiceRemoteMXExceptionjava.rmi.RemoteExceptionpublic void populateConsultantFields(java.lang.String origLoginID,
java.lang.String newLoginID,
MboRemote landlordMbo)
throws MXException,
java.rmi.RemoteException
populateConsultantFields in interface SecurityServiceRemoteorigLoginID - 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.MXExceptionjava.rmi.RemoteExceptionpublic 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 alsoMXExceptionjava.rmi.RemoteExceptionpublic java.util.Map<java.lang.String,java.util.List<java.util.List<java.lang.String>>> loadCopyFieldsInfo()
throws MXException,
java.rmi.RemoteException
MXExceptionjava.rmi.RemoteExceptionpublic 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)MXExceptionjava.rmi.RemoteExceptionpublic java.sql.Connection changeToAdminUser(UserInfo lndlordInfo) throws MXException, java.rmi.RemoteException
con - database connectionMXExceptionjava.rmi.RemoteExceptionpublic boolean isValidDBUser(UserInfo lndlordInfo, java.lang.String tenantDbUserId) throws MXException, java.rmi.RemoteException
landlordUI - dbUserName - MXExceptionjava.rmi.RemoteExceptionpublic boolean isConsultantFieldModified(MboRemote landlordMbo) throws MXException, java.rmi.RemoteException
isConsultantFieldModified in interface SecurityServiceRemotelandlordMbo - MXExceptionjava.rmi.RemoteException