给这些路由都加上 if+redirect 感觉很麻烦,我是不是该自己写个装饰器啊?
PS:v2ex 的注册( http://v2ex.com/signup )和登录页面( http://v2ex.com/signin )都可以被已登录用户访问到,你们觉得这样合适么?
PS:v2ex 的注册( http://v2ex.com/signup )和登录页面( http://v2ex.com/signin )都可以被已登录用户访问到,你们觉得这样合适么?
1
0xLeco May 14, 2016
flask_principal
|
2
EricNirvana May 14, 2016
自己做个权限拦截的装饰器呗~
|
3
MyLeoWind OP @EricNirvana 我想的就是自己写个装饰器哦。只是想请教大家有没有现成的方法,比如说我现在已经用 before_request 装饰器来现在只有登录用户可以访问了。
|
5
EricNirvana May 14, 2016
@MyLeoWind 按照你的需求,需要细化到接口级别,以及对于不同的身份,可访问到的接口也不一样,所以可能权限这边需要自己来实现。
另外,有个小建议,如果已经登陆了,登陆界面可能访问不到?取而代之的应该是用户信息界面:) |
6
awanabe May 14, 2016
def require_no_login(f):
@wraps(f) def wrapper(*args, **kwargs): if current_user.is_authenticated: if request.method == 'POST': return jsonify(success=False, error_msg='已经登录') return redirect('/') return f(*args, **kwargs) return wrapper |
7
awanabe May 14, 2016
<script src="https://gist.github.com/awanabe/5261048bec893100465a38da410d354c.js"></script>
|
8
Allianzcortex May 14, 2016
|
9
codeface May 15, 2016
装饰器+ 1
|