Package org.kuali.rice.krad
Class UserSession
java.lang.Object
org.kuali.rice.krad.UserSession
- All Implemented Interfaces:
Serializable
Holds info about the User Session
- Author:
- Kuali Rice Team (rice.collab@kuali.org)
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionUserSession(String principalName) Creates a user session for the principal specified in the parameter. -
Method Summary
Modifier and TypeMethodDescriptionvoidAllows adding an arbitrary object to the session with static a string key that can be used to later access this object from the session using the retrieveObject method in this class.voidaddObjectIfAbsent(String key, Object object) Either allows adding an arbitrary object to the session based on a key (if there is not currently an object associated with that key) or returns the object already associated with that key.addObjectWithGeneratedKey(Serializable object, String keyPrefix) allows adding an arbitrary object to the session and returns a string key that can be used to later access this object from the session using the retrieveObject method in this class.addObjectWithGeneratedKey(Object object) allows adding an arbitrary object to the session and returns a string key that can be used to later access this object from the session using the retrieveObject method in this class.voidclear the backdoor uservoidclear the objectMapReturns the actual current user even if the backdoor is in use.Retrieves all SessionTicket instances currently in the UserSession#objectMapgetAllSessionTicketsByType(String ticketTypeName) Retrieves all SessionTicket instances currently in the UserSession#objectMap that are of a given ticket typeReturns the session id.Returns who is logged in.Returns who is logged in.retrieves an unmodifiable view of the objectMap.Returns a Person object for the current user.Returns the id of the current user.Returns the name of the current user.booleanhasMatchingSessionTicket(String ticketTypeName, Map<String, String> matchContext) Determines if the UserSession contains a ticket of the given type that matches the given context.protected voidinitPerson(String principalName) Loads the Person object from KIM.booleanbooleanbooleanHelper method to check if we are in a production environment.putSessionTicket(SessionTicket ticket) Adds the given SessionTicket to the objectMap and returns the associated keyvoidremoveObject(String objectKey) allows for removal of an object from session that has been put into the userSession based on the key that would have been assignedvoidremoveObjectsByPrefix(String objectKeyPrefix) allows for removal of an object from session that has been put into the userSession based on a key that starts with the given prefixretrieveObject(String objectKey) Allows for fetching an object that has been put into the userSession based on the key that would have been returned when adding the object.voidsetBackdoorUser(String principalName) override the current user in the system by setting the backdoor networkId, which is useful when dealing with routing or other reasons why you would need to assume an identity in the systemvoidsetKualiSessionId(String kualiSessionId) Sets the session id.
-
Constructor Details
-
UserSession
Creates a user session for the principal specified in the parameter. Take in a netid, and construct the user from that.- Parameters:
principalName-
-
-
Method Details
-
getKualiSessionId
Returns the session id. The session id is a unique identifier for the session.- Returns:
- the kualiSessionId
-
setKualiSessionId
Sets the session id.- Parameters:
kualiSessionId- the kualiSessionId to set
-
initPerson
Loads the Person object from KIM. Factored out for testability.- Parameters:
principalName- the principalName
-
getPrincipalId
Returns the id of the current user.- Returns:
- the principalId of the current user in the system, backdoor principalId if backdoor is set
-
getPrincipalName
Returns the name of the current user.- Returns:
- the principalName of the current user in the system, backdoor principalName if backdoor is set
-
getLoggedInUserPrincipalName
Returns who is logged in. If the backdoor is in use, this will return the network id of the person that is standing in as the backdoor user.- Returns:
- String
-
getLoggedInUserPrincipalId
Returns who is logged in. If the backdoor is in use, this will return the network id of the person that is standing in as the backdoor user.- Returns:
- String
-
getPerson
Returns a Person object for the current user.- Returns:
- the KualiUser which is the current user in the system, backdoor if backdoor is set
-
getActualPerson
Returns the actual current user even if the backdoor is in use.- Returns:
- the KualiUser which is the current user in the system
-
setBackdoorUser
override the current user in the system by setting the backdoor networkId, which is useful when dealing with routing or other reasons why you would need to assume an identity in the system- Parameters:
principalName-
-
isProductionEnvironment
public boolean isProductionEnvironment()Helper method to check if we are in a production environment.- Returns:
- boolean indicating if we are in a production environment
-
getCurrentEnvironment
-
isDisplayTestBanner
public boolean isDisplayTestBanner() -
clearBackdoorUser
public void clearBackdoorUser()clear the backdoor user -
addObjectWithGeneratedKey
allows adding an arbitrary object to the session and returns a string key that can be used to later access this object from the session using the retrieveObject method in this class. This allows for a prefix to be placed in front of the incremented key. So if the prefix is "searchResults" and the nextObjectKey (local int that holds the key value) is 2 then the new key will be "searchResults3". "searchResults3" will be returned from the method.- Parameters:
object-
-
addObjectWithGeneratedKey
allows adding an arbitrary object to the session and returns a string key that can be used to later access this object from the session using the retrieveObject method in this class. The key is generated from an integer and incremented for every object added. So the first object added with have a key of "1". This key will be returned from the method.- Parameters:
object-
-
addObject
Allows adding an arbitrary object to the session with static a string key that can be used to later access this object from the session using the retrieveObject method in this class.- Parameters:
key- the mapping keyobject- the object to store
-
addObjectIfAbsent
Either allows adding an arbitrary object to the session based on a key (if there is not currently an object associated with that key) or returns the object already associated with that key.- Parameters:
key- the mapping keyobject- the object to store- See Also:
-
retrieveObject
Allows for fetching an object that has been put into the userSession based on the key that would have been returned when adding the object.- Parameters:
objectKey- the mapping key- Returns:
- the stored object
-
removeObject
allows for removal of an object from session that has been put into the userSession based on the key that would have been assigned- Parameters:
objectKey-
-
removeObjectsByPrefix
allows for removal of an object from session that has been put into the userSession based on a key that starts with the given prefix -
isBackdoorInUse
public boolean isBackdoorInUse()- Returns:
- boolean indicating if the backdoor is in use
-
putSessionTicket
Adds the given SessionTicket to the objectMap and returns the associated key- Parameters:
ticket- - SessionTicket to add- Returns:
- the objectMap key for the ticket as a String
-
getAllSessionTickets
Retrieves all SessionTicket instances currently in the UserSession#objectMap- Returns:
- List<SessionTicket> contained in user session
-
getAllSessionTicketsByType
Retrieves all SessionTicket instances currently in the UserSession#objectMap that are of a given ticket type- Returns:
- List<SessionTicket> contained in user session
-
hasMatchingSessionTicket
Determines if the UserSession contains a ticket of the given type that matches the given context. To match context the ticket must contain all the same keys at the given context and the values must be equal with the exception of case- Parameters:
ticketTypeName- - Name of the ticket type to matchmatchContext- - Map on context parameters to match on- Returns:
- true if a ticket was found in the UserSession that matches the request, false if one was not found
-
getObjectMap
retrieves an unmodifiable view of the objectMap. -
clearObjectMap
public void clearObjectMap()clear the objectMap
-