summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/intro
diff options
context:
space:
mode:
authorNino Breuer2014-11-28 16:07:58 +0100
committerNino Breuer2014-11-28 16:07:58 +0100
commitc27d50c575ff5867aef8f10ccf2b5f2ac43dae08 (patch)
tree5c2e6586338308ce49e21272931e2341ae7d47ec /dozentenmodul/src/main/java/gui/intro
parentMerge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module (diff)
downloadtutor-module-c27d50c575ff5867aef8f10ccf2b5f2ac43dae08.tar.gz
tutor-module-c27d50c575ff5867aef8f10ccf2b5f2ac43dae08.tar.xz
tutor-module-c27d50c575ff5867aef8f10ccf2b5f2ac43dae08.zip
• changed implementation of user authentication.
• changed position of class file • fixed some little things (not necessary to mention) Important Notes: •organizationID in token returns "wrong" values, therefore university is still set by client. To be fixed someday. • userID is the value with which the user starts his log in. this value is not represented in the token! (as it is not(!) the email). To be implemented someday, as this value is represented in the masterserver. • Feature isn't well tested.
Diffstat (limited to 'dozentenmodul/src/main/java/gui/intro')
-rw-r--r--dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java417
-rw-r--r--dozentenmodul/src/main/java/gui/intro/Login_GUI.java15
-rw-r--r--dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java18
3 files changed, 27 insertions, 423 deletions
diff --git a/dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java b/dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java
deleted file mode 100644
index 4c24e035..00000000
--- a/dozentenmodul/src/main/java/gui/intro/ListAllOtherUsers_GUI.java
+++ /dev/null
@@ -1,417 +0,0 @@
-package gui.intro;
-
-import gui.intro.About_GUI;
-import gui.intro.MainMenue_GUI;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.SystemColor;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.swing.DefaultListSelectionModel;
-import javax.swing.JButton;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JMenu;
-import javax.swing.JMenuBar;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.JScrollPane;
-import javax.swing.JSeparator;
-import javax.swing.JTable;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
-import javax.swing.JTextPane;
-import javax.swing.RowFilter;
-import javax.swing.UIManager;
-import javax.swing.UnsupportedLookAndFeelException;
-import javax.swing.border.EmptyBorder;
-import javax.swing.border.TitledBorder;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.table.DefaultTableModel;
-import javax.swing.table.TableModel;
-import javax.swing.table.TableRowSorter;
-
-import models.Links;
-import models.person;
-
-import org.apache.log4j.Logger;
-import org.apache.thrift.TException;
-
-import server.generated.Person;
-import server.generated.Server.Client;
-import thrift.ThriftConnection;
-import util.OpenLinks;
-import javax.swing.ListSelectionModel;
-
-@SuppressWarnings("serial")
-public class ListAllOtherUsers_GUI extends JFrame {
-
- private final static Logger LOGGER = Logger
- .getLogger(ListAllOtherUsers_GUI.class);
-
- private final JPanel contentPanel = new JPanel();
- String[] result;
- JTable tableUsers;
- boolean activeSearch = false;
-
- String[] titles = { "userID", "Nachname", "Vorname", "Mail" };
-
- ThriftConnection con = new ThriftConnection();
- Client client = models.Client.clientcon.getClient();
- //final DefaultTableModel modelUsers = new DefaultTableModel(titles, 0);
-
- private JButton btnAdd;
- private List<Person> map = null; // List of people
- private JTextField textField;
- Component c = null;
- private JTable table;
- private int userIDPos;
-
- List<String> user = new ArrayList<String>();
-
- private static final String HELP_MESSAGE = "<html><div align=\"center\">"
- + "In der Übersicht sehen Sie primär alle Veranstaltungen, die Sie erzeugt haben.<br />"
- + "Sie können die Veranstaltungen hier löschen. Alternativ werden veraltete Einträge irgendwann automatisch gelöscht.<br />"
- + "Veraltet bedeutet, dass Veranstaltungen, die drei Monate lang nicht augerufen wurden, vorerst deaktiviert werden."
- + "</div></html>";
-
-
- //prevent table cells being clickable
- final DefaultTableModel modelUsers = new DefaultTableModel(titles, 0){
- public boolean isCellEditable(int rowIndex, int mColIndex) {
- return false;
- }
- };
-
- final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(modelUsers);
-
- /**
- *
- * Constructor
- */
-
- public ListAllOtherUsers_GUI(Component formerGUI, final JTable table,
- final int userIDPos) {
-
- // get table model to work with
- final DefaultTableModel model = (DefaultTableModel) table.getModel();
-
- //set incoming table
- this.table=table;
- this.userIDPos=userIDPos;
-
- addWindowListener(new WindowAdapter() {
- @Override
- public void windowClosing(WindowEvent arg0) {
- // Beendet die Anwendung nach klick auf X
- con.closeThriftConnection();
- dispose();
- }
-
- @Override
- public void windowOpened(WindowEvent arg0) {
-
- // auszublendende Angaben
- // 0=userID
-
- tableUsers.getColumnModel().getColumn(0).setWidth(0);
- tableUsers.getColumnModel().getColumn(0).setMinWidth(0);
- tableUsers.getColumnModel().getColumn(0).setMaxWidth(0);
- }
- });
- // Verhindert das Vergroessern Des Fensters
- setResizable(false);
-
- try {
- // Setzt das Look & Feel auf System
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- } catch (ClassNotFoundException | InstantiationException
- | IllegalAccessException | UnsupportedLookAndFeelException e) {
-
- e.printStackTrace();
- }
- // Setzt den Fenstertitel
- setTitle("bwLehrpool Suite - Benutzer hinzufügen");
- // Zentriert das Fenster in die Bildmitte
- setBounds(0, 0, 531, 673);
- setLocationRelativeTo(formerGUI);
-
- getContentPane().setLayout(null);
- {
- JPanel panel = new JPanel();
- panel.setBackground(SystemColor.menu);
- panel.setBounds(10, 11, 570, 57);
- getContentPane().add(panel);
- panel.setLayout(null);
- {
- JLabel lblNewLabel = new JLabel("Benutzer hinzufügen");
- lblNewLabel.setBounds(10, 11, 509, 22);
- panel.add(lblNewLabel);
- lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18));
- }
-
- JTextPane txtpnBitteWhlenSie = new JTextPane();
- txtpnBitteWhlenSie.setEditable(false);
- txtpnBitteWhlenSie.setBackground(SystemColor.menu);
- txtpnBitteWhlenSie
- .setText("Wählen Sie bitte aus der unten stehenden Liste Benutzer aus, denen Sie Rechte vergeben möchten.");
- txtpnBitteWhlenSie.setBounds(10, 36, 509, 32);
- panel.add(txtpnBitteWhlenSie);
- }
- contentPanel.setBounds(10, 176, 498, 359);
- contentPanel.setBackground(SystemColor.menu);
- contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
- getContentPane().add(contentPanel);
- contentPanel.setLayout(null);
- JScrollPane scrollPaneMyImage = new JScrollPane();
- scrollPaneMyImage.setBounds(0, 0, 498, 359);
- contentPanel.add(scrollPaneMyImage);
- tableUsers = new JTable();
- tableUsers.setSelectionModel(new MyDefaultListSelectionModel());
-
- tableUsers.setModel(modelUsers);
-
- tableUsers.getColumnModel().getColumn(1).sizeWidthToFit();// Nachname
- tableUsers.getColumnModel().getColumn(2).sizeWidthToFit();// Vorname
- tableUsers.getColumnModel().getColumn(3).sizeWidthToFit();// email
-
- // initialize content
- initTableContent();
-
- tableUsers.setRowSorter(rowSorterAll);
-
- scrollPaneMyImage.setViewportView(tableUsers);
- {
- JPanel buttonPane = new JPanel();
- buttonPane.setBounds(0, 568, 508, 33);
- buttonPane.setBackground(SystemColor.menu);
- buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
- getContentPane().add(buttonPane);
-
- btnAdd = new JButton("Übernehmen und schließen");
- buttonPane.add(btnAdd);
- {
- JButton btnCancel = new JButton("Abbrechen");
- buttonPane.add(btnCancel);
- btnCancel.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- // only close window
- dispose();
- }
- });
- btnCancel.setActionCommand("OK");
- getRootPane().setDefaultButton(btnCancel);
- }
- btnAdd.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- // save the user list and go back to last GUI
- int pos = 0; // pointer for array
- int[] selectedRows = tableUsers.getSelectedRows(); // list
-
- // check if a row is selected
- if (selectedRows.length > 0) {
- // step through entries
- for (int i = 0; i < selectedRows.length; i++) {
- // get userID and write it to the table in former
- // GUI
-
- if (table.getColumnCount() == 6) { // is it an image
- // GUI?
-
- Object[] obj = {
- tableUsers.getValueAt(
- selectedRows[pos], 1)
- + ", "
- + tableUsers.getValueAt(
- selectedRows[pos], 2), // Nachname
- // und
- // Vorname
- false, // Read image
- false, // Write image
- false, // Link image
- false, // Admin image
- tableUsers.getValueAt(
- selectedRows[pos], 0) // userID
- };
- model.addRow(obj);
-
- } else if (table.getColumnCount() == 5) { // is it a
- // lecture
- // GUI?
- Object[] obj = {
- tableUsers.getValueAt(
- selectedRows[pos], 1)
- + ", "
- + tableUsers.getValueAt(
- selectedRows[pos], 2), // Nachname
- // und
- // Vorname
- false, // Read image
- false, // Write image
- false, // Admin image
- tableUsers.getValueAt(
- selectedRows[pos], 0) // userID
- };
- model.addRow(obj);
- }
-
- pos++;// next selected row
- }
- }// end if
-
- dispose();
- }// end actionPerformed
- });
- }
-
- JSeparator separator = new JSeparator();
- separator.setBounds(0, 79, 836, 1);
- getContentPane().add(separator);
-
- JSeparator separator_1 = new JSeparator();
- separator_1.setBounds(0, 552, 836, 1);
- getContentPane().add(separator_1);
-
- JMenuBar menuBar = new JMenuBar();
- setJMenuBar(menuBar);
-
- JMenu mnNewMenu_1 = new JMenu("Hilfe");
- menuBar.add(mnNewMenu_1);
-
- JMenuItem mntmFaq = new JMenuItem("FAQ");
- mntmFaq.addMouseListener(new MouseAdapter() {
- @Override
- public void mousePressed(MouseEvent arg0) {
-
- OpenLinks open = new OpenLinks();
-
- URI windows;
- try {
- windows = new URI(Links.getFAQ());
- open.openWebpage(windows);
- } catch (URISyntaxException e) {
-
- e.printStackTrace();
- }
- }
- });
- mnNewMenu_1.add(mntmFaq);
-
- JMenuItem mntmOtrs = new JMenuItem("OTRS");
- mntmOtrs.addMouseListener(new MouseAdapter() {
- @Override
- public void mousePressed(MouseEvent arg0) {
-
- OpenLinks open = new OpenLinks();
- URI windows;
- try {
- windows = new URI(Links.getOTRS());
- open.openWebpage(windows);
- } catch (URISyntaxException e) {
- e.printStackTrace();
- }
- }
- });
- mnNewMenu_1.add(mntmOtrs);
-
- JMenuItem mntmAbout = new JMenuItem("About");
- mntmAbout.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- About_GUI ab = new About_GUI();
- ab.setVisible(true);
- }
- });
- mnNewMenu_1.add(mntmAbout);
-
- JMenu mnNewMenu_Info = new JMenu("Info");
- mnNewMenu_Info.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent arg0) {
- JOptionPane.showMessageDialog(c, HELP_MESSAGE,
- "Hilfe zu dieser Oberfläche",
- JOptionPane.INFORMATION_MESSAGE);
- }
- });
- menuBar.add(mnNewMenu_Info);
-
- c = this;
-
- }
-
-
- // get users from db which are not in listed in the permission yet
- public void initTableContent() {
-
- //LOGGER.info("Getting list of all other users from server");
- try {
-
- //set users which are NOT to be listed in table
- //logged on user
- user.add(0, person.verantwortlicher.getUserID());
-
- //users already in table
- for(int y=0; y<table.getRowCount(); y++){
- user.add(""+table.getValueAt(y, userIDPos));
- }
-
- //get the info
- map = client.getAllOtherSatelliteUsers(user);
- Iterator<server.generated.Person> i = map.iterator();
-
- int x = 0;
- while (i.hasNext()) {
- // erzeuge Objekte fuer die Tabelle
- Object[] obj = { map.get(x).getUserID(), // userID
- map.get(x).getNachname(), // Nachname
- map.get(x).getVorname(),// Vorname
- map.get(x).getMail() // EMail
- };
- // Fuege diese Objekte der Tabelle hinzu
- modelUsers.addRow(obj);
- i.next();
- x++;
- }// end while
-
- } catch (TException e2) {
- LOGGER.info("Failed to get List of users from server");
- e2.printStackTrace();
- }
- }// end initTableContent
-}// end class ListAllOtherUsers
-
-@SuppressWarnings("serial")
-class MyDefaultListSelectionModel extends DefaultListSelectionModel {
-
- public MyDefaultListSelectionModel() {
- super();
- }
-
- public void setSelectionInterval(int index0, int index1) {
- if (isSelectedIndex(index0)) {
- super.removeSelectionInterval(index0, index1);
- } else {
- super.addSelectionInterval(index0, index1);
- }
- }
-}// end class MyDefaultListSelectionModel \ No newline at end of file
diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java
index 17de8772..b875fb58 100644
--- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java
+++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java
@@ -98,6 +98,7 @@ public class Login_GUI extends JFrame {
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
+
System.exit(0);
}
});
@@ -323,6 +324,7 @@ public class Login_GUI extends JFrame {
LOGGER.info("Authentifizierung von '" + lblusername.getText() + "' erfolgreich.");
user = client.getUserFromToken(result.authToken);
authToken = result.authToken;
+
} catch (org.openslx.imagemaster.thrift.iface.AuthenticationException e) {
setStatus(
@@ -463,23 +465,28 @@ public class Login_GUI extends JFrame {
server.generated.Server.Client client_2 = models.Client.clientcon.getClient();
try
{
- client_2.setTokenForSession(authToken);
+ boolean authenticated = client_2.authenticated(authToken);
+
+ if(!authenticated)
+ {
+ //TODO message for user and deactivation of menu points, actually just system exit
+ System.exit(0);
+ }
} catch (TException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
- String pk_institution = client_2.setInstitution(person.verantwortlicher.getHochschule());
+ String pk_institution = client_2.setInstitution(person.verantwortlicher.getHochschule(),SessionData.session.getAuthToken());
//LOGGER.info("Institution of user is: "+pk_institution);
- client_2.setPerson(person.verantwortlicher.getUserID(), person.verantwortlicher.getName(), person.verantwortlicher.getVorname(), person.verantwortlicher.getEMail(), pk_institution);
+ client_2.setPerson(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken(),pk_institution);
//LOGGER.info("user data, ID="+person.verantwortlicher.getUserID()+" , Name="+person.verantwortlicher.getName()+" , Vorname="+ person.verantwortlicher.getVorname()+" , E-Mail="+ person.verantwortlicher.getEMail()+" , Institution="+ pk_institution);
} catch (TException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
-
// Pruefe ob Bills Of Rights schon akzeptiert wurden,
// wenn nicht zeige diese an
if (!Config.getBillOfRights()) {
diff --git a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java
index bd69571e..01b4aaeb 100644
--- a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java
+++ b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java
@@ -58,6 +58,7 @@ import models.person;
import org.apache.log4j.Logger;
import org.apache.thrift.TException;
+import server.generated.Server.Client;
import util.GuiOrganizer;
import util.News;
import util.OpenLinks;
@@ -84,6 +85,8 @@ public class MainMenue_GUI extends JFrame {
private final ButtonGroup buttonGroup = new ButtonGroup();
private JMenuItem mntmAbout;
Component c = null;
+
+ Client client = models.Client.clientcon.getClient();
@@ -94,7 +97,7 @@ public class MainMenue_GUI extends JFrame {
// for testing
ImageRights imageRights = new ImageRights();
-
+ boolean tokenDeleted;
public MainMenue_GUI(Component formerGUI) {
@@ -102,7 +105,18 @@ public class MainMenue_GUI extends JFrame {
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent arg0) {
- System.exit(0);
+ try {
+ tokenDeleted = client.setSessionInvalid(SessionData.session.getAuthToken());
+ } catch (TException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ if(tokenDeleted)
+ {
+ System.out.println("test");
+ System.exit(0);
+ }
+
}
});
try {