Ejemplo n.º 1
0
  /** ***************************************** */
  @SuppressWarnings("unchecked")
  private void doSave() {
    String aktuelleruser = tfs[0].getText();
    if (!String.valueOf(pws[0].getPassword()).equals(String.valueOf(pws[1].getPassword()))) {
      JOptionPane.showMessageDialog(null, "Passwort und Passwortwiederholung sind nicht identisch");
      return;
    }
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerRechte_set, true)) {
      return;
    }
    int lang = getNodeCount();
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < lang; i++) {
      JXRechteTreeTableNode node = holeNode(i);
      //// System.out.println(node.rechte.bildnummer);
      if (node.rechte.bildnummer >= 0) {
        buf.append(Integer.toString(node.rechte.bildnummer));
      }
    }
    String pw = buf.toString();
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerSuper_user, false)
        && rechteTools.Rechte.testeRecht(pw, rechteTools.Rechte.BenutzerSuper_user)) {
      JOptionPane.showMessageDialog(
          null,
          "SuperUser-Rechte können nur von einem Benutzer mit SuperUser-Rechten vergeben werden");
      return;
    }

    Verschluesseln man = Verschluesseln.getInstance();
    man.init(Verschluesseln.getPassword().toCharArray(), man.getSalt(), man.getIterations());
    String encrypted = man.encrypt(pw);

    if (!neu) {
      //// System.out.println("Username = "******"Passwort = "+String.valueOf(pws[0].getPassword()));
      //// System.out.println("Rechte   = "+String.valueOf(pw));

      String cmd =
          "update rehalogin set user='******', password='******', rights='"
              + encrypted
              + "' where id='"
              + userid
              + "' LIMIT 1";
      SqlInfo.sqlAusfuehren(cmd);
      jcmb.setNewValueAtCurrentPosition(0, tfs[0].getText());
      jcmb.setNewValueAtCurrentPosition(1, String.valueOf(pws[1].getPassword()));
      jcmb.setNewValueAtCurrentPosition(2, buf.toString());
      if (Reha.aktUser.equals(jcmb.getSelectedItem().toString().trim())) {
        Reha.progRechte = buf.toString();
      }
    } else {
      // neuen Benutzer anlegen erst noch entwickeln;
      if (tfs[0].getText().equals("") || String.valueOf(pws[0].getPassword()).trim().equals("")) {
        JOptionPane.showMessageDialog(null, "Benutzername und Passwort darf nicht leer sein");
        jcmb.setSelectedIndex(0);
        doEditsEinAus(false);
        return;
      }
      int id = SqlInfo.holeId("rehalogin", "password");
      Vector<String> vec = new Vector<String>();
      vec.add(tfs[0].getText());
      vec.add(String.valueOf(pws[0].getPassword()));
      vec.add(buf.toString());
      vec.add("");
      vec.add(Integer.toString(id));
      jcmb.addNewVector((Vector<String>) vec.clone());
      String cmd =
          "update rehalogin set user='******', password='******', rights='"
              + encrypted
              + "' where id='"
              + Integer.toString(id)
              + "' LIMIT 1";
      SqlInfo.sqlAusfuehren(cmd);
    }
    ParameterLaden.Passwort();
    jcmb.removeActionListener(al);
    jcmb.setDataVectorWithStartElement(ParameterLaden.pKollegen, 0, 1, "./.");
    jcmb.addActionListener(al);
    jcmb.setSelectedItem(aktuelleruser);
  }
Ejemplo n.º 2
0
  private JXPanel getButtonTeil() {
    //                                   1            2  3   4        5
    FormLayout lay =
        new FormLayout(
            "fill:0:grow(0.5),80dlu,3dlu,80dlu,fill:0:grow(0.5)",
            //       1             2   3   4  5   6  7   8  9  10  11  12 13  14 15  16  17  18   19
            "fill:0:grow(0.33),p,20dlu,p,1dlu,p,1dlu,p,1dlu,p,25dlu,p,5dlu,p,5dlu,p,15dlu,p,fill:0:grow(0.66)");
    CellConstraints cc = new CellConstraints();
    JXPanel jpan = new JXPanel();
    jpan.setLayout(lay);

    JLabel lab = new JLabel("Benutzer auswählen");
    jpan.add(lab, cc.xy(2, 2, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    jcmb = new JRtaComboBox();
    jcmb.setDataVectorWithStartElement(ParameterLaden.pKollegen, 0, 1, "./.");
    jcmb.setActionCommand("benutzerwahl");
    jcmb.addActionListener(al);
    jpan.add(jcmb, cc.xy(4, 2));

    lab = new JLabel("Benutzername");
    jpan.add(lab, cc.xy(2, 4, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    tfs[0] = new JRtaTextField("nix", false);
    tfs[0].setEnabled(false);
    jpan.add(tfs[0], cc.xy(4, 4));

    lab = new JLabel("Passwortanzeige");
    jpan.add(lab, cc.xy(2, 6, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    jchb = new JRtaCheckBox("im Klartext anzeigen");
    jpan.add(jchb, cc.xy(4, 6));
    if (!rechteTools.Rechte.hatRecht(rechteTools.Rechte.BenutzerSuper_user, false)) {
      jchb.setSelected(false);
      jchb.setEnabled(false);
    }
    jchb.setActionCommand("klartext");
    jchb.addActionListener(al);

    lab = new JLabel("Passwort");
    jpan.add(lab, cc.xy(2, 8, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    pws[0] = new JPasswordField();
    pws[0].setEnabled(false);
    jpan.add(pws[0], cc.xy(4, 8));

    lab = new JLabel("Passwort wiederholen");
    jpan.add(lab, cc.xy(2, 10, CellConstraints.RIGHT, CellConstraints.DEFAULT));
    pws[1] = new JPasswordField();
    pws[1].setEnabled(false);
    jpan.add(pws[1], cc.xy(4, 10));

    jpan.add((buts[0] = ButtonTools.macheButton("neuer Benutzer", "neu", al)), cc.xy(2, 12));
    jpan.add((buts[1] = ButtonTools.macheButton("Benutzer ändern", "edit", al)), cc.xy(4, 12));
    jpan.add((buts[2] = ButtonTools.macheButton("Benutzer speichern", "save", al)), cc.xy(2, 14));
    jpan.add((buts[3] = ButtonTools.macheButton("Benutzer löschen", "delete", al)), cc.xy(4, 14));
    jpan.add(
        (buts[4] = ButtonTools.macheButton("Vorgang abbrechen", "dobreak", al)), cc.xyw(2, 16, 3));

    jpan.add(
        (buts[5] = ButtonTools.macheButton("Rechte exportieren", "doexport", al)), cc.xy(2, 18));
    jpan.add(
        (buts[6] = ButtonTools.macheButton("Rechte importieren", "doimport", al)), cc.xy(4, 18));
    buts[5].setForeground(Color.BLUE);
    buts[6].setForeground(Color.RED);
    regleButtons("1101000");
    return jpan;
  }