|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface I_Session
Method Summary | |
---|---|
void |
changeSecretSessionId(java.lang.String sessionId)
The current implementation of the user session handling (especially Authenticate.connect(org.xmlBlaster.engine.qos.ConnectQosServer, String) )
cannot provide a real sessionId when this object is created. |
I_Manager |
getManager()
How controls this session? |
java.lang.String |
getSecretSessionId()
Return the id of this session. |
I_Subject |
getSubject()
Get the owner of this session. |
ConnectQosServer |
init(ConnectQosServer connectQos,
java.util.Map map)
Initialize the session with useful information. |
java.lang.String |
init(I_SecurityQos securityQos)
Initialize a new session and do the credential check. |
java.lang.String |
interceptExeptionByAuthorizer(java.lang.Throwable throwable,
SessionHolder sessionHolder,
DataHolder dataHolder)
If an exception occurrs after successful authorization the security framework has the chance to suppress the exception by returning a return QOS |
boolean |
isAuthorized(SessionHolder sessionHolder,
DataHolder dataHolder)
Check if this subject instance is permitted to do something |
boolean |
verify(I_SecurityQos securityQos)
Allows to check the given securityQos again. |
Methods inherited from interface org.xmlBlaster.authentication.plugins.I_MsgSecurityInterceptor |
---|
exportMessage, importMessage |
Method Detail |
---|
ConnectQosServer init(ConnectQosServer connectQos, java.util.Map map) throws XmlBlasterException
Is called before init(I_SecurityQos)
which does the authentication
connectQos
- The current login informationmap
- Additional information, is currently null
XmlBlasterException
java.lang.String init(I_SecurityQos securityQos) throws XmlBlasterException
String
- The already parsed QoS. The meaning will be defined by the real implementation.
XmlBlasterException
- The initialization failed (key exchange, authentication ... failed)#init(String)
boolean verify(I_SecurityQos securityQos) throws XmlBlasterException
Note:
String
- The already parsed QoS. The meaning will be defined by the real implementation.
XmlBlasterException
I_Subject getSubject()
I_Subject
- The owner.I_Manager getManager()
void changeSecretSessionId(java.lang.String sessionId) throws XmlBlasterException
Authenticate.connect(org.xmlBlaster.engine.qos.ConnectQosServer, String)
)
cannot provide a real sessionId when this object is created. Thus, it
uses a temporary id first and changes it to the real in a later step.The purpose of this method is to enable this functionality.
String
- The new sessionId.
XmlBlasterException
- Thrown if the new sessionId is already in use.java.lang.String getSecretSessionId()
String
- The sessionId.boolean isAuthorized(SessionHolder sessionHolder, DataHolder dataHolder)
sessionHolder
- Holding information about the subject which requires rightsdataHolder
- Holding information about the data which shall be accessed
EXAMPLE:
isAuthorized("publish", "thisIsAMessageKey");
The above line checks if this subject is permitted to >>publish<<
a message under the key >>thisIsAMessageKey<<
Known action keys:
publish, subscribe, get, erase, ...java.lang.String interceptExeptionByAuthorizer(java.lang.Throwable throwable, SessionHolder sessionHolder, DataHolder dataHolder)
A dummy implementation should always return null!
A dead message can be produced like this:
SessionInfo sessionInfo = sessionHolder.getSessionInfo(); try { return sessionInfo.getMsgErrorHandler().handleErrorSync(new MsgErrorInfo(glob, sessionInfo.getSessionName(), dataHolder.getMsgUnit(), throwable)); } catch (XmlBlasterException e) { e.printStackTrace(); return null; }
sessionHolder
- dataHolder
- throwable
-
|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |