Пример простой HTTP авторизации
# coding: utf8
from bottle import run, route, abort, response, request
USER = 'user'
PASW = 'pasw'
def login():
if ('auto' in request.COOKIES) and (request.COOKIES['auto'] == '1'): return
try:
h = request.header['Authorization']
if h[:6] == 'Basic ':
login,pasw = h[6:].decode('base64').split(':')
if (login == USER) and (pasw == PASW):
response.set_cookie('auto', '1')
return
except:
pass
response.header['WWW-Authenticate'] = 'Basic realm="Control Panel"'
abort(401)
@route('/logout')
def logout():
response.set_cookie('auto', '')
return 'logout ok'
@route('/')
def main():
login()
return 'Hello world<br/><a href="/logout">logout</a>'
run(port=8080)