diff options
| author | unknown | 2014-04-17 08:49:41 +0200 |
|---|---|---|
| committer | unknown | 2014-04-17 08:49:41 +0200 |
| commit | 9a0146ebd3e43334b261d1014ce221900a520bef (patch) | |
| tree | 8be75f30cffde5319441f642383c8caa34dc1d89 /Dozentenmodul/src/gui/intro/Login_GUI.java | |
| parent | g (diff) | |
| parent | Debugging: Jeder Fehler poppt auf in einem Textfenster und kann analysiert we... (diff) | |
| download | tutor-module-9a0146ebd3e43334b261d1014ce221900a520bef.tar.gz tutor-module-9a0146ebd3e43334b261d1014ce221900a520bef.tar.xz tutor-module-9a0146ebd3e43334b261d1014ce221900a520bef.zip | |
Merge branch 'master' of git.openslx.org:openslx-ng/tutor-module
Conflicts:
Dozentenmodulserver/bin/server/ServerHandler.class
Dozentenmodulserver/src/server/ServerHandler.java
Diffstat (limited to 'Dozentenmodul/src/gui/intro/Login_GUI.java')
| -rw-r--r-- | Dozentenmodul/src/gui/intro/Login_GUI.java | 257 |
1 files changed, 162 insertions, 95 deletions
diff --git a/Dozentenmodul/src/gui/intro/Login_GUI.java b/Dozentenmodul/src/gui/intro/Login_GUI.java index e2db747e..0efbe3cb 100644 --- a/Dozentenmodul/src/gui/intro/Login_GUI.java +++ b/Dozentenmodul/src/gui/intro/Login_GUI.java @@ -1,6 +1,6 @@ package gui.intro; - +import java.awt.Color; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Image; @@ -12,8 +12,6 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.io.IOException; -import java.nio.channels.SeekableByteChannel; - import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; @@ -25,7 +23,6 @@ import javax.swing.JTextField; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; - import models.SessionData; import models.person; import org.apache.thrift.TException; @@ -33,15 +30,22 @@ import org.ini4j.Wini; import thrift.MasterThriftConnection; import thrift.ImageServer.Client; import thrift.UserInfo; - import config.config_file; +import javax.swing.SwingConstants; @SuppressWarnings("serial") public class Login_GUI extends JFrame { private JPanel contentPane; - private JTextField username; - private JPasswordField pass; + private JTextField lblusername; + private JPasswordField lblpass; + JLabel lblConnectionInfo = new JLabel(""); + boolean isClientReturnedCorrectly = false; + boolean login; + String masterServerIP = MasterThriftConnection.MASTERSERVERIP; + MasterThriftConnection thrift; + Client client; + String token; /** * Launch the application. @@ -65,6 +69,9 @@ public class Login_GUI extends JFrame { } catch (Exception e) { e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getStackTrace(), + "Message", JOptionPane.ERROR_MESSAGE); } } }); @@ -90,6 +97,9 @@ public class Login_GUI extends JFrame { | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause()+"\n"+e.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); } // Titel des Fensters setzen setTitle("Dozentenmodul *Prototyp*"); @@ -129,16 +139,17 @@ public class Login_GUI extends JFrame { contentPane.add(LabelUser); // Erzeugen und Hinzufügen des Textfeldes - username = new JTextField(); - username.setToolTipText("Bitte geben Sie Ihren bwIDM-Benutzernamen ein."); - username.addActionListener(new ActionListener() { + lblusername = new JTextField(); + lblusername + .setToolTipText("Bitte geben Sie Ihren bwIDM-Benutzernamen ein."); + lblusername.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { performLogin(); } }); - username.setBounds(304, 164, 196, 20); - contentPane.add(username); - username.setColumns(10); + lblusername.setBounds(292, 164, 237, 20); + contentPane.add(lblusername); + lblusername.setColumns(10); // Erzeugen und Hinzufügen des Labels JLabel LabelPass = new JLabel("bwIDM-Passwort:"); @@ -153,109 +164,165 @@ public class Login_GUI extends JFrame { }// end actionPerformed }); - BtnLogin.setBounds(304, 244, 196, 23); + BtnLogin.setBounds(292, 244, 237, 23); contentPane.add(BtnLogin); // Erzeugen und Hinzufügen des Passwortfeldes - pass = new JPasswordField(); - pass.setToolTipText("Bitte geben Sie Ihr bwIDM-Passwort ein."); - pass.addActionListener(new ActionListener() { + lblpass = new JPasswordField(); + lblpass.setToolTipText("Bitte geben Sie Ihr bwIDM-Passwort ein."); + lblpass.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { performLogin(); } }); - pass.setBounds(304, 195, 196, 20); - contentPane.add(pass); + lblpass.setBounds(292, 195, 237, 20); + contentPane.add(lblpass); + + lblConnectionInfo.setHorizontalAlignment(SwingConstants.LEFT); + lblConnectionInfo.setBounds(292, 290, 237, 20); + contentPane.add(lblConnectionInfo); }// end LoginGUI() - //Versuche den Benutzer einzuloggen + // Versuche den Benutzer einzuloggen public void performLogin() { - // Aufruf der Ldap Klasse, welche die Ldap überprüfung vornimmt - // Ldap check=new Ldap(); - boolean login = true; - // boolean login=check.LdapAuth(username.getText(), new - // String(pass.getPassword())); - MasterThriftConnection thrift = new MasterThriftConnection(); - Client client = thrift.getMasterThriftConnection(); - String token = null; - final thrift.SessionData result; + + login = false; + thrift = new MasterThriftConnection(); + client = thrift.getMasterThriftConnection(); + token = null; + thrift.SessionData result = null; + try { - String passText = new String(pass.getPassword()); - System.out.println("Benutzer:" +username.getText() + "\nPasswort" + passText); - result = client.authenticate(username.getText(), passText); - SessionData.session.setAuthToken(result.authToken); - SessionData.session.setSessionID(result.sessionId); - SessionData.session.setServerAdress(result.serverAddress); - System.out.println("Server Adresse: "+result.serverAddress); - + login = true; + String passText = new String(lblpass.getPassword()); + System.out.println("Benutzer: " + lblusername.getText() + + "\nPasswort: " + passText); + + // check if client has received a connection with information or a + // null package + if (checkClientPackage() == true) { + // package has information + result = client.authenticate(lblusername.getText(), passText); + SessionData.session.setAuthToken(result.authToken); + SessionData.session.setSessionID(result.sessionId); + SessionData.session.setServerAdress(result.serverAddress); + System.out.println("Satellit-Adresse: " + result.serverAddress); + + System.out + .println("Konnte mich beim MasterServer authentifizieren. Meine Session-ID ist " + + result.sessionId + + ", mein Token für den Satelliten " + + result.authToken); + token = result.authToken; + + if (login == true) { + + try { + Wini ini = new Wini( + new File( + "C:\\Users\\" + + System.getProperty("user.name") + + "\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini")); + // Prüfe ob Bills Of Rights schon akzeptiert wurden, + // wenn + // nicht zeige diese an + if (ini.get("main", "BillOfRights", boolean.class) == false) { + // Erstellen einer Instanz der Aktionsauswahl + BillOfRights_GUI re = new BillOfRights_GUI(); + re.setVisible(true); + // Schließen des Fensters nach erfolgreichen Login + setVisible(false); + } else { + // Prüfe ob die Links zu vmware angezeigt werden + // sollen + if (ini.get("main", "vmware", boolean.class) == false) { + VmWareLink_GUI vm = new VmWareLink_GUI(); + vm.setVisible(true); + setVisible(false); + } else { + UserInfo user = client.getUserFromToken(token); + + String hochschule = user.eMail.substring( + user.eMail.indexOf("@") + 1, + user.eMail.indexOf(".", + user.eMail.indexOf("@"))); + // System.out.println("hochschule="+hochschule); + + person.verantwortlicher.setUsername(lblusername + .getText()); + person.verantwortlicher.setName(user.lastName); + person.verantwortlicher + .setVorname(user.firstName); + person.verantwortlicher.setEMail(user.eMail); + person.verantwortlicher + .setHochschule(hochschule); + + // Öffne das Hauprmenü + MainMenue_GUI main = new MainMenue_GUI(); + main.setVisible(true); + setVisible(false); + } + } + } catch (IOException | TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause()+"\n"+e.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } + + } else { + JOptionPane.showMessageDialog(null, "Login denied!", + "Message", JOptionPane.INFORMATION_MESSAGE); + } + + } else { + // package from server is null + login = false; + lblConnectionInfo.setForeground(Color.red); + lblConnectionInfo.setText("Fehler: Client nicht mit Server verbunden."); + + } + } catch (thrift.AuthenticationException e) { - System.out.println("Authentifizierung fehlgeschlagen: " + e.message); + System.out + .println("Authentifizierung fehlgeschlagen: " + e.message); + JOptionPane + .showMessageDialog( + null, + "Benutzeranmeldung fehlgeschlagen: Bitte Benutzername und Passwort überprüfen.", + "Anmeldung fehlgeschlagen", + JOptionPane.ERROR_MESSAGE); + e.printStackTrace(); JOptionPane.showMessageDialog(null, - "Benutzeranmeldung fehlgeschlagen: Bitte Benutzername und Passwort überprüfen.", - "Anmeldung fehlgeschlagen", - JOptionPane.ERROR_MESSAGE); - + e.getCause()+"\n"+e.getMessage(), + "Message", JOptionPane.ERROR_MESSAGE); return; } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause()+"\n"+e.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); return; } - System.out - .println("Konnte mich beim MasterServer authentifizieren. Meine Session-ID ist " - + result.sessionId - + ", mein Token für den Satelliten " - + result.authToken); - token = result.authToken; - if (login == true) { - - try { - Wini ini = new Wini(new File("C:\\Users\\" - + System.getProperty("user.name") - + "\\AppData\\Roaming\\bwLehrpoolSuite\\config.ini")); - // Prüfe ob Bills Of Rights schon akzeptiert wurden, wenn nicht - // zeige diese an - if (ini.get("main", "BillOfRights", boolean.class) == false) { - // Erstellen einer Instanz der Aktionsauswahl - BillOfRights_GUI re = new BillOfRights_GUI(); - re.setVisible(true); - // Schließen des Fensters nach erfolgreichen Login - setVisible(false); - } else { - // Prüfe ob die Links zu vmware angezeigt werden sollen - if (ini.get("main", "vmware", boolean.class) == false) { - VmWareLink_GUI vm = new VmWareLink_GUI(); - vm.setVisible(true); - setVisible(false); - } else { - UserInfo user = client.getUserFromToken(token); - - String hochschule = user.eMail.substring(user.eMail - .indexOf("@") + 1, user.eMail.indexOf(".", - user.eMail.indexOf("@"))); - // System.out.println("hochschule="+hochschule); - - person.verantwortlicher.setUsername(username.getText()); - person.verantwortlicher.setName(user.lastName); - person.verantwortlicher.setVorname(user.firstName); - person.verantwortlicher.setEMail(user.eMail); - person.verantwortlicher.setHochschule(hochschule); - - // Öffne das Hauprmenü - MainMenue_GUI main = new MainMenue_GUI(); - main.setVisible(true); - setVisible(false); - } - } - } catch (IOException | TException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + }// end performLogin + public boolean checkClientPackage() { + // check if client is null or has been returned with information + if (client != null) { + // client contains information + isClientReturnedCorrectly = true; + System.out.println("Masterserver (" + masterServerIP + + ") ist erreichbar, Verbindungsinformationen erhalten"); } else { - JOptionPane.showMessageDialog(null, "Login denied!", "Message", - JOptionPane.INFORMATION_MESSAGE); + // client has returned with error + isClientReturnedCorrectly = false; + System.out.println("Fehler: Client hat von Masterserver (" + masterServerIP + + ") keine korrekten Verbindungsdaten erhalten."); } - }// end performLogin + + return isClientReturnedCorrectly; + }// end checkServerConnection() }// end class |
