if (not checkLogin()):
print("Non autorizzato")
else:
print("Benvenuto")
Di seguito il codice completo.
**login.py**
from bottle import Bottle,route, run, template, static_file, request,redirect, response,get, post
import hashlib
users=[
{"user":"fabio","password":"a53bd0415947807bcb95ceec535820ee","type":"0"},
{"user":"francesco","password":"0581938f0767a65b373cea80e905c25f","type":"0"}
]
COOKIESECRET="38f0767a65b373cea"
COOKIE_user="usr-py"
COOKIE_pass="pass-py"
def checkLogin():
username= request.get_cookie(COOKIE_user, secret=COOKIESECRET)
password= request.get_cookie(COOKIE_pass, secret=COOKIESECRET)
ret=False
for i in range(0,len(users)):
if (username ==users[i]["user"] and password == users[i]["password"] ):
ret=True
return ret
def dologin():
username = request.forms.get('username')
password = request.forms.get('password')
password=hashlib.md5(password.encode("utf-8")).hexdigest()
print("Login: %s/%s" % (username, password))
response.set_cookie(COOKIE_user, username , secret=COOKIESECRET)
response.set_cookie(COOKIE_pass, password, secret=COOKIESECRET)
redirect("/")
def loginform():
return template('login')
def logout():
response.set_cookie(COOKIE_user, "")
response.set_cookie(COOKIE_pass,"")
redirect("/")
**main.py**
#!/usr/bin/python3
import os
from bottle import Bottle,route, run, template, static_file, request,redirect, response,get, post
from login import *
global app
app=Bottle()
PORT=8080
def start_server():
run(app , host='0.0.0.0', port=PORT, reloader=True, debug=True)
@app.route("/")
def home():
if (not checkLogin()):
print("Non autorizzato")
redirect("/loginform")
else:
print("Benvenuto")
return "Benvenuto
"
def setup_routing(app):
app.route('/logout', ['GET', 'POST'], logout)
app.route('/dologin', ['GET', 'POST'], dologin)
app.route('/loginform', ['GET', 'POST'], loginform)
setup_routing(app)
start_server()