Login nicht möglich bzw. fehlerhafte Prüfung

Probleme und Fragen zum Thema Trigger und Funktionen.
Antworten
b_kohl
Neuer Benutzer
Beiträge: 2
Registriert: Sa 4. Mär 2017, 18:42

Login nicht möglich bzw. fehlerhafte Prüfung

Beitrag von b_kohl » So 5. Mär 2017, 09:52

Ich habe eine index.jsp mit einem Loginformular (E-Mail und Passwort). Die Daten werden an eine Login.java weitergeleitet, soweit kein Problem, funktioniert ohne Probleme. In der Login.java durchläuft das Passwort eine hash-Funktion und soll dann mit dem in der DB hinterlegten Passwort verglichen werden, da beginnt das Problem. Das Passwort durchläuft problemlos die hash-Funktion, den Abgleich aber nicht mehr. Danach soll eigentlich auch der Vorname der Person weitergeleitet werden, dass funktioniert leider auch nicht. Ich hab schon verschiedene Sachen ausprobiert, waren für mich immer logisch, aber sie haben trotzdem nicht zum Erfolg geführt. Aus dem Grund bin ich jetzt hier und hoffe, dass mir hier jemand helfen kann.

Code: Alles auswählen

if (!mail.equals("") && !passwort.equals("")) {
	Connection connection = DatabaseConnection.getConnection();

	String query = "SELECT email, passwort FROM benutzer WHERE email = ? AND passwort = ?";

	try {
		if (connection != null) {
			PreparedStatement pStatement = connection.prepareStatement(query);

			pStatement.setString(1, mail);
			pStatement.setString(2, passwort);

			ResultSet rs = pStatement.executeQuery();
					
			String[] passwortDB = { rs.getString(0) };

			if (passwortDB[0] == passwort) {
				String nameQuery = "SELECT vorname FROM benutzer WHERE email = ?;";
				PreparedStatement nameStatement = connection.prepareStatement(nameQuery);
				nameStatement.setString(1, mail);
				ResultSet nameRS = nameStatement.executeQuery();
				ArrayList<String[]> ergebnis = new ArrayList<String[]>();
				String[] name = { nameRS.getString(1) };
				ergebnis.add(name);
					
				if (mail.contains("@admin.de")) {
					request.setAttribute("adminname", ergebnis);
					request.getRequestDispatcher("profilAdmin.jsp").forward(request, response);

				} else {
							request.getRequestDispatcher("profil.jsp").forward(request, response);
				}

			} else {
				request.getRequestDispatcher("login.jsp").forward(request, response);
			}
		}
	} catch (SQLException e) {
		e.printStackTrace();
	} finally {
		try {
			if (connection != null) {
				connection.close();
			}
		} catch (SQLException ignored) {
		}
	}
} else {
	request.getRequestDispatcher("registrieren.jsp").forward(request, response);
}
Im Profil steht dann: ${ adminname } .

castorp
Erfahrener Benutzer
Beiträge: 1038
Registriert: Sa 27. Jun 2009, 22:24

Re: Login nicht möglich bzw. fehlerhafte Prüfung

Beitrag von castorp » So 5. Mär 2017, 11:04

Du hast rs.next() vergessen.

Code: Alles auswählen

ResultSet rs = pStatement.executeQuery();
if (rs.nex()) {
  // ... es wurde etwas gefunden
} else {
  // email oder passwort waren falsch
}
Das ist im übrigen das falsche Unterforum: das ist ein Java Problem und hat nichts mit "Trigger und Funktionen" zu tun.
Fragen dieser Art gehören nach: viewforum.php?f=50
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

b_kohl
Neuer Benutzer
Beiträge: 2
Registriert: Sa 4. Mär 2017, 18:42

Re: Login nicht möglich bzw. fehlerhafte Prüfung

Beitrag von b_kohl » So 5. Mär 2017, 13:54

Ok, danke :D

akretschmer
Erfahrener Benutzer
Beiträge: 7458
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Login nicht möglich bzw. fehlerhafte Prüfung

Beitrag von akretschmer » Mo 6. Mär 2017, 07:23

Du könntest auch gleich den Vornamen mit abfragen, würde ein Gang zu DB sparen. Ich hoffe mal, das sind keine Klartextpasswörter in der DB...
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Antworten