Как я могу заставить свое приложение Bottle.py (работающее в Paste или Cherrypy) выполнять аутентификацию HTTP (базовую или дайджест)? - Мне нужно защитить его, но не могу найти никаких HOWTO.
HTTP-аутентификация Bottle.py?
comment
возможный дубликат Как реализовать аутентификацию пользователя и сеансы с Python а>
- person Martijn Pieters   schedule 07.11.2012
comment
возможный дубликат удобной для бутылок библиотеки аутентификации WSGI/промежуточного программного обеспечения
- person Don Kirkby   schedule 20.12.2012
Ответы (2)
Bottle имеет встроенный декоратор auth_basic
, который можно использовать в представлении:
from bottle import auth_basic, request, route
def check(user, pw):
# Check user/pw here and return True/False
@route('/')
@auth_basic(check)
def home():
return { 'data': request.auth }
person
M Somerville
schedule
11.05.2014
Можете ли вы объяснить больше? Я не уверен, как я могу сделать проверку.
- person Fahad Ahammed; 13.03.2017
Боюсь, это не так уж много информации. Ваша функция
check
полностью зависит от того, что вы хотите сделать, поэтому она может сказать, например, if user == "user" and pw == "hello": return True
— хотя вообще, конечно, я бы не стал хардкодить такой пароль!
- person M Somerville; 14.03.2017
Что произойдет, если вы не пройдете проверку? Можете ли вы решить, что показано?
- person Robert Johnstone; 10.01.2020
Параметры auth_basic — это вызываемая функция, имя области аутентификации и тело, которое будет отображаться в ошибке 401, поэтому вы можете передать его туда.
- person M Somerville; 11.01.2020
На GitHub есть несколько библиотек, таких как https://github.com/FedericoCeratto/bottle-cork, которые должно помочь. Это может быть проще интегрировать, чем библиотека repoze, предложенная в соответствующем посте.
person
Brian Cajes
schedule
07.11.2012