python – 处理PermissionDenied异常的Flask-Principal最佳实践
发布时间:2020-12-16 22:55:41 所属栏目:Python 来源:网络整理
导读:我是写新瓶子的新手,目前使用flask-principal作为我的授权机制. 当用户尝试访问没有所需权限的URL时,flask-principal会引发PermissionDenied Exception. 它导致我的系统抛出500内部服务器错误. 我怎样才能捕获特定的异常并将用户重定向到警告页面呢? 如果您
我是写新瓶子的新手,目前使用flask-principal作为我的授权机制.
当用户尝试访问没有所需权限的URL时,flask-principal会引发PermissionDenied Exception. 它导致我的系统抛出500内部服务器错误. 我怎样才能捕获特定的异常并将用户重定向到警告页面呢? 解决方法
您可以告诉Flask-Principal您要引发特定的HTTP错误代码:
@app.route('/admin') @admin_permission.require(http_exception=403) def admin(request): # ... 现在将调用 @app.errorhandler(403) def page_not_found(e): session['redirected_from'] = request.url return redirect(url_for('users.login')) 其中url_for(‘users.login’)将返回登录页面的路由URL. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |