The*_*Lin 7 python flask flask-principal
我是写作瓶子的新手,目前flask-principal用作我的授权机制.当用户尝试访问没有所需权限的URL时,flask-principal会引发PermissionDenied异常.
它导致我的系统抛出500 internal server错误.
我怎样才能捕获特定的异常并将用户重定向到警告页面呢?如果您可以共享代码示例,那将非常有用.
Mar*_*ers 12
您可以告诉Flask-Principal您要引发特定的HTTP错误代码:
@app.route('/admin')
@admin_permission.require(http_exception=403)
def admin(request):
# ...
Run Code Online (Sandbox Code Playgroud)
现在flask.abort()将被召唤而不是提高PermissionDenied.对于403错误代码,您可以注册错误处理程序:
@app.errorhandler(403)
def page_not_found(e):
session['redirected_from'] = request.url
return redirect(url_for('users.login'))
Run Code Online (Sandbox Code Playgroud)
where url_for('users.login')将返回登录页面的路由URL.
| 归档时间: |
|
| 查看次数: |
1888 次 |
| 最近记录: |