summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src/main/java/server/ServerHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodulserver/src/main/java/server/ServerHandler.java')
-rw-r--r--dozentenmodulserver/src/main/java/server/ServerHandler.java39
1 files changed, 28 insertions, 11 deletions
diff --git a/dozentenmodulserver/src/main/java/server/ServerHandler.java b/dozentenmodulserver/src/main/java/server/ServerHandler.java
index a0809546..1671b893 100644
--- a/dozentenmodulserver/src/main/java/server/ServerHandler.java
+++ b/dozentenmodulserver/src/main/java/server/ServerHandler.java
@@ -48,21 +48,38 @@ public class ServerHandler implements Server.Iface
}
+ public boolean checkSession(String authToken) throws InvalidTokenException
+ {
+ //cached proof. if session is valid, return
+ if(SessionData.session.getAuthToken().equals(authToken))
+ {
+ return true;
+ }
+
+ //else, set session to current token and check against masterserver
+ //TODO change calls from functions
+ SessionData.session.setAuthToken(authToken);
+
+ return authenticated();
+ }
+
public boolean authenticated() throws InvalidTokenException
{
- MasterThriftConnection thrift = new MasterThriftConnection();
- client = thrift.getMasterThriftConnection();
- try {
- if(client.getUserFromToken(SessionData.session.getAuthToken()) != null)
- {
- return true;
+ //start initial authentication with the masterserver
+ MasterThriftConnection thrift = new MasterThriftConnection();
+ client = thrift.getMasterThriftConnection();
+ try {
+ if(client.getUserFromToken(SessionData.session.getAuthToken()) != null)
+ {
+ return true;
+ }
+ } catch (TException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
}
- } catch (TException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- log.info("User not authenticated.");
+ log.info("User not authenticated.");
+
return false;
}