public class UserContext
extends java.lang.Object
implements java.io.Serializable
User Context
which stores the current user information. Only
one User
may be authenticated within a UserContext at any given time. The
UserContext should not be accessed directly, but rather used through the Context
.
This class should be kept light-weight. There is one instance of this class per user that is
logged into the system.Context
,
Serialized FormConstructor and Description |
---|
UserContext()
Default public constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addProxyPrivilege(java.lang.String privilege)
Gives the given privilege to all calls to hasPrivilege.
|
User |
authenticate(java.lang.String username,
java.lang.String password,
ContextDAO contextDAO)
Authenticate the user to this UserContext.
|
User |
becomeUser(java.lang.String systemId)
Change current authentication to become another user.
|
java.util.Set<Role> |
getAllRoles()
Gets all the roles for the (un)authenticated user.
|
java.util.Set<Role> |
getAllRoles(User user)
Gets all the roles for a user.
|
User |
getAuthenticatedUser() |
java.util.Locale |
getLocale() |
Location |
getLocation() |
java.lang.Integer |
getLocationId() |
boolean |
hasPrivilege(java.lang.String privilege)
Tests whether or not currently authenticated user has a particular privilege
|
boolean |
isAuthenticated() |
void |
logout()
logs out the "active" (authenticated) user within this UserContext
|
void |
refreshAuthenticatedUser()
Refresh the authenticated user object in this UserContext.
|
void |
removeProxyPrivilege(java.lang.String privilege)
Will remove one instance of privilege from the privileges that are currently proxied
|
void |
setLocale(java.util.Locale locale) |
void |
setLocation(Location location) |
void |
setLocationId(java.lang.Integer locationId) |
public User authenticate(java.lang.String username, java.lang.String password, ContextDAO contextDAO) throws ContextAuthenticationException
username
- String login namepassword
- String login passwordcontextDAO
- ContextDAO implementation to use for authenticationContextAuthenticationException
Context.authenticate(String,String)
public void refreshAuthenticatedUser()
getAuthenticatedUser()
User object.public User becomeUser(java.lang.String systemId) throws ContextAuthenticationException
systemId
- ContextAuthenticationException
public User getAuthenticatedUser()
null
public boolean isAuthenticated()
public void logout()
public void addProxyPrivilege(java.lang.String privilege)
try { Context.addProxyPrivilege("AAA"); Context.get*Service().methodRequiringAAAPrivilege(); } finally { Context.removeProxyPrivilege("AAA"); }
privilege
- to give to userspublic void removeProxyPrivilege(java.lang.String privilege)
privilege
- Privilege to remove in string formpublic void setLocale(java.util.Locale locale)
locale
- new locale for this contextpublic java.util.Locale getLocale()
public java.util.Set<Role> getAllRoles() throws java.lang.Exception
java.lang.Exception
public java.util.Set<Role> getAllRoles(User user) throws java.lang.Exception
user
- java.lang.Exception
public boolean hasPrivilege(java.lang.String privilege)
privilege
- public java.lang.Integer getLocationId()
public void setLocationId(java.lang.Integer locationId)
locationId
- locationId to setpublic Location getLocation()
public void setLocation(Location location)
location
- the location to set toCopyright © 2018 OpenMRS Inc.. All Rights Reserved.