Class Authentications
- java.lang.Object
-
- org.camunda.bpm.webapp.impl.security.auth.Authentications
-
- All Implemented Interfaces:
java.io.Serializable
public class Authentications extends java.lang.Object implements java.io.SerializableWrapper around current authentications.
In Camunda Platform rest and web applications, authentications are managed per process engine: at a given point in time, there might be multiple authentications active for different users and process engines in a single session. The situation is that a "physical" user may possess credentials for different process engines, each of these representing a different process engine user. For each process engine, there can be at most one authentication active in a given session.
In addition, the
AuthenticationFilterbinds an instance of this class to a thread local and may be obtained bygetCurrent()- Author:
- Daniel Meyer
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,UserAuthentication>authenticationsholds an entry for each processEngine->userId pair currently authenticated
-
Constructor Summary
Constructors Constructor Description Authentications()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddOrReplace(UserAuthentication authentication)Adds an authentication to the list of current authentications.static voidclearCurrent()clears theAuthenticationsfor the current thread.AuthenticationgetAuthenticationForProcessEngine(java.lang.String engineName)Returns anAuthenticationfor a provided process engine name or "null".java.util.List<UserAuthentication>getAuthentications()static AuthenticationsgetCurrent()Returns the authentications for the current thread.booleanhasAuthenticationForProcessEngine(java.lang.String engineName)Allows checking whether a user is currently authenticated for a given process engine name.UserAuthenticationremoveByEngineName(java.lang.String engineName)Removes the authentication for the provided process engine name.static voidsetCurrent(Authentications auth)sets theAuthenticationsfor the current thread in a thread local.
-
-
-
Field Detail
-
authentications
protected java.util.Map<java.lang.String,UserAuthentication> authentications
holds an entry for each processEngine->userId pair currently authenticated
-
-
Method Detail
-
getAuthenticationForProcessEngine
public Authentication getAuthenticationForProcessEngine(java.lang.String engineName)
Returns anAuthenticationfor a provided process engine name or "null".- Parameters:
engineName- the name of the process engine for which the userId should be retrieved.- Returns:
Authenticationfor the provided process engine or "null" if no user is authenticated for this process engine.
-
addOrReplace
public void addOrReplace(UserAuthentication authentication)
Adds an authentication to the list of current authentications. If there already exists an authentication of the same process engine, it is replaced silently.- Parameters:
authentication- the authentication to add
-
removeByEngineName
public UserAuthentication removeByEngineName(java.lang.String engineName)
Removes the authentication for the provided process engine name.- Parameters:
engineName- the name of the process engine for which the authentication should be removed.- Returns:
- the removed user authentication
-
getAuthentications
public java.util.List<UserAuthentication> getAuthentications()
- Returns:
- all active
Authentications.
-
hasAuthenticationForProcessEngine
public boolean hasAuthenticationForProcessEngine(java.lang.String engineName)
Allows checking whether a user is currently authenticated for a given process engine name.- Parameters:
engineName- the name of the process engine for which we want to check for authentication.- Returns:
- true if a user is authenticated for the provided process engine name.
-
setCurrent
public static void setCurrent(Authentications auth)
sets theAuthenticationsfor the current thread in a thread local.- Parameters:
auth- theAuthenticationsto set.
-
clearCurrent
public static void clearCurrent()
clears theAuthenticationsfor the current thread.
-
getCurrent
public static Authentications getCurrent()
Returns the authentications for the current thread.- Returns:
- the authentications.
-
-