USER/ADMIN LOGIN
Verfasst: Sonntag 15. Dezember 2019, 15:08
Hallo miteinander,
ich bin bei meinem Uniprojekt hängen geblieben und komme nicht weiter. Für meine Website habe ich meine Datenbank verbunden. Registration sowie Userlogin funktioniert einwandfrei. Leider habe ich folgendes Problem, da wir vom Prof ins kalte Wasser geschmissen wurden fehlt mir die Erfahrung und mit Büchern, youtube videos usw.. komme ich leider nicht mehr weiter. Ich habe gefühlt seit tagen alles mögliche probiert, jedoch ohne Erfolg einen Adminlogin in meinen Loginprogress einzubauen. Ich würde mich sehr freuen wenn mir jemand einen Denkanstoß oder Lösungsansätze geben könnte. Meinen Adminbereich fürs User löschen habe ich fertig und muss nur noch in der python datei verlinkt werden.
Ich freue mich über Rückmeldungen und bedanke mich schonmal im vorraus
))
Code:
@app.route('/login', methods=['GET', 'POST'])
def loginprogress():
if request.method == "GET":
# App-Route wurde direkt aufgerufen
return render_template("login.html") #kehre zur loginseite
# Übergabe der Daten aus dem Textfeld
log_benutzername = request.form["benutzername"]
log_passwort = request.form["passwort"]
# Wenn der Benutzername nicht eingegeben wurde
if log_benutzername is "":
flash("Bitte Benutzername und Passwort eingeben")
return redirect(url_for('index'))
# Wenn das Passwort nicht eingegeben wurde
if log_passwort is "":
flash("Bitte Passwort eingeben")
return redirect(url_for('index'))
# Überprüfen ob der Benutzername vorhanden ist
g.cur.execute("SELECT Benutzername, UserID FROM USERS where Benutzername = %s", (log_benutzername,))
db_id = g.cur.fetchone()
# Wenn der Name nicht vorhanden ist
if db_id is None:
flash("Benutzer exisitiert nicht")
#return render_template(page)
return redirect(url_for('index'))
#Überprüfen ob der Loginbenutzername mit dem Benutzername aus der DB übereinstimmt
if log_benutzername == db_id[0]:
#das Passwort aus der Datenbank holen
g.cur.execute("SELECT Passwort FROM USERS where Benutzername = %s", (log_benutzername,))
db_passwort = g.cur.fetchone()[0]
print(db_passwort)
#Überprüfen ob die gehashten Passwörter übereinstimmen
if check_password_hash(pwhash=db_passwort, password=log_passwort):
print(2)
session['log_benutzername'] = log_benutzername
session['UserID'] = db_id[1]
flash("Sie sind eingeloggt")
return redirect(url_for('benutzerseite'))
#Ausgabe wenn das Passwort falsch ist
print(3)
flash("Benutzername oder Passwort falsch")
#return render_template(page)
return redirect(url_for('index'))
# Ausgabe wenn der Benutzername falsch ist
flash("Benutzername oder Passwort falsch")
#return render_template(page)
return redirect(url_for('index'))
ich bin bei meinem Uniprojekt hängen geblieben und komme nicht weiter. Für meine Website habe ich meine Datenbank verbunden. Registration sowie Userlogin funktioniert einwandfrei. Leider habe ich folgendes Problem, da wir vom Prof ins kalte Wasser geschmissen wurden fehlt mir die Erfahrung und mit Büchern, youtube videos usw.. komme ich leider nicht mehr weiter. Ich habe gefühlt seit tagen alles mögliche probiert, jedoch ohne Erfolg einen Adminlogin in meinen Loginprogress einzubauen. Ich würde mich sehr freuen wenn mir jemand einen Denkanstoß oder Lösungsansätze geben könnte. Meinen Adminbereich fürs User löschen habe ich fertig und muss nur noch in der python datei verlinkt werden.
Ich freue mich über Rückmeldungen und bedanke mich schonmal im vorraus

Code:
@app.route('/login', methods=['GET', 'POST'])
def loginprogress():
if request.method == "GET":
# App-Route wurde direkt aufgerufen
return render_template("login.html") #kehre zur loginseite
# Übergabe der Daten aus dem Textfeld
log_benutzername = request.form["benutzername"]
log_passwort = request.form["passwort"]
# Wenn der Benutzername nicht eingegeben wurde
if log_benutzername is "":
flash("Bitte Benutzername und Passwort eingeben")
return redirect(url_for('index'))
# Wenn das Passwort nicht eingegeben wurde
if log_passwort is "":
flash("Bitte Passwort eingeben")
return redirect(url_for('index'))
# Überprüfen ob der Benutzername vorhanden ist
g.cur.execute("SELECT Benutzername, UserID FROM USERS where Benutzername = %s", (log_benutzername,))
db_id = g.cur.fetchone()
# Wenn der Name nicht vorhanden ist
if db_id is None:
flash("Benutzer exisitiert nicht")
#return render_template(page)
return redirect(url_for('index'))
#Überprüfen ob der Loginbenutzername mit dem Benutzername aus der DB übereinstimmt
if log_benutzername == db_id[0]:
#das Passwort aus der Datenbank holen
g.cur.execute("SELECT Passwort FROM USERS where Benutzername = %s", (log_benutzername,))
db_passwort = g.cur.fetchone()[0]
print(db_passwort)
#Überprüfen ob die gehashten Passwörter übereinstimmen
if check_password_hash(pwhash=db_passwort, password=log_passwort):
print(2)
session['log_benutzername'] = log_benutzername
session['UserID'] = db_id[1]
flash("Sie sind eingeloggt")
return redirect(url_for('benutzerseite'))
#Ausgabe wenn das Passwort falsch ist
print(3)
flash("Benutzername oder Passwort falsch")
#return render_template(page)
return redirect(url_for('index'))
# Ausgabe wenn der Benutzername falsch ist
flash("Benutzername oder Passwort falsch")
#return render_template(page)
return redirect(url_for('index'))