summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
diff options
context:
space:
mode:
authorSimon Rettberg2015-08-11 16:32:07 +0200
committerSimon Rettberg2015-08-11 16:32:07 +0200
commit3a91f090eab386ea37f8c4379f27a26378fbaa04 (patch)
treed3ae74dbd17e81a8183cb81518458142b5c0a77f /dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
parent[server] Create proper path for file download (diff)
downloadtutor-module-3a91f090eab386ea37f8c4379f27a26378fbaa04.tar.gz
tutor-module-3a91f090eab386ea37f8c4379f27a26378fbaa04.tar.xz
tutor-module-3a91f090eab386ea37f8c4379f27a26378fbaa04.zip
[client] Improve authentication handling
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
index deeaa5ad..b01e02c2 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
@@ -25,6 +25,7 @@ import javax.swing.JSeparator;
import org.apache.log4j.Logger;
import org.apache.thrift.TException;
+import org.openslx.bwlp.thrift.iface.WhoamiInfo;
import org.openslx.dozmod.App;
import org.openslx.dozmod.Config;
import org.openslx.dozmod.Config.SavedSession;
@@ -223,12 +224,11 @@ public abstract class MainWindow {
if (session != null) {
// Wait for proxy server init
App.waitForInit();
- ThriftManager.setSatelliteAddress(session.address);
try {
- ThriftManager.getSatClient().isAuthenticated(session.token);
+ WhoamiInfo whoami = ThriftManager.getNewSatClient(session.address).whoami(session.token);
// TODO: Satellite whoami call
- Session.setSatelliteAddress(session.address);
- Session.fromSavedSession(session);
+ Session.initialize(whoami, session.address, session.token, session.masterToken);
+ ThriftManager.setSatelliteAddress(Session.getSatelliteAddress());
LOGGER.info("Saved session used for resume.");
} catch (TException e1) {
LOGGER.info("Session resume failed.", e1);
@@ -240,6 +240,8 @@ public abstract class MainWindow {
// User did not login, show the login mask
LoginWindow.open(mainWindow);
}
+ mainWindow.setTitle("bwLehrstuhl - " + Session.getFirstName() + " " + Session.getLastName() + " ["
+ + Session.getSatelliteAddress() + "]");
// Show main menu by default
showPage(MainMenuWindow.class);
@@ -313,9 +315,19 @@ public abstract class MainWindow {
JMenu cascadeFileMenu = new JMenu("File");
menuBar.add(cascadeFileMenu);
+ JMenuItem logoutItem = new JMenuItem("Logout");
+ cascadeFileMenu.add(logoutItem);
JMenuItem exitItem = new JMenuItem("Exit");
cascadeFileMenu.add(exitItem);
+ logoutItem.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ Config.saveCurrentSession("", "", "");
+ askApplicationQuit();
+ }
+ });
+
exitItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {