diff options
Diffstat (limited to 'dozentenmodulserver/src/main/java')
-rw-r--r-- | dozentenmodulserver/src/main/java/server/ServerHandler.java | 39 |
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; } |