我是新的书面瓶,目前使用flask-principal作为我的授权机制。当用户试图在没有所需权限的情况下访问url时,烧瓶主体会引发PermissionDenied异常。
它会导致我的系统抛出一个500 internal server错误。
如何捕获特定的异常并将用户重定向到警告页面?如果您可以共享一个代码示例,这将非常有用。
发布于 2013-11-19 11:06:14
您可以告诉烧瓶-主体,您想要引发特定的HTTP错误代码而不是:
@app.route('/admin')
@admin_permission.require(http_exception=403)
def admin(request):
# ...现在将调用flask.abort()而不是引发PermissionDenied。对于403错误代码,您可以注册一个错误处理程序
@app.errorhandler(403)
def page_not_found(e):
session['redirected_from'] = request.url
return redirect(url_for('users.login'))其中,url_for('users.login')将返回登录页面的路由URL。
https://stackoverflow.com/questions/20069150
复制相似问题