Исключение Forbidden
Исключение Forbidden относится к классу HTTP-исключений
Flask и соответствует коду ответа 403. Оно вызывается
в том случае, когда сервер понял запрос, но отказывается
его выполнять, так как у клиента нет прав доступа к ресурсу.
В отличие от ошибки 401, здесь пользователь уже
аутентифицирован, но ему запрещено выполнять операцию.
Исключение можно возбудить вручную с помощью функции
abort или выбросить в коде.
Синтаксис
from flask import abort
abort(403)
Пример
Давайте создадим маршрут, который возвращает ошибку 403 при попытке доступа:
from flask import Flask, abort
app = Flask(__name__)
@app.route('/admin')
def admin():
abort(403)
Результат выполнения кода для адреса /admin:
<+html+>
403 Forbidden
<-html+>
Пример
Давайте перехватим исключение Forbidden
и вернём собственный ответ:
from flask import Flask
from werkzeug.exceptions import Forbidden
app = Flask(__name__)
@app.errorhandler(Forbidden)
def handle_forbidden(e):
return 'Access denied', 403
@app.route('/secret')
def secret():
raise Forbidden()
Результат выполнения кода для адреса /secret:
<+html+>
Access denied
<-html+>
Смотрите также
-
класс
Exception,
базовый класс для всех исключений Flask -
исключение
Unauthorized,
которое соответствует ошибке 401 -
исключение
NotFound,
которое соответствует ошибке 404 -
атрибут
code,
который хранит код HTTP-ответа