有关如何为每个蓝图使用 login_view 有任何帮助吗?我在 Google、你的博客和所有可能的来源上进行了搜索,但没有找到任何可行的示例。
我有4张蓝图如下:
admin(__init__, route.py)
customer(__init__, route.py)
partners(__init__, route.py)
auth(__init__, route.py)
Run Code Online (Sandbox Code Playgroud)
auth将作为不同类型(社交+常规)身份验证的中心点进行处理。
我正在使用@login_required不同配置文件下的所有可能的路线。但问题是;login_manager.login_view只允许我设置一个登录视图。我想要有单独的登录视图,以便我各自的授权可以重定向到各自的蓝图等,并且我可以清楚地控制谁(角色)正在登录及其各自的路线。
我只发现了一些东西
@<a href="http://flask-login.readthedocs.org/en/latest/#flask.ext.login.LoginManager.login_view">LoginManager.login_view blueprint_login_views</a>
Run Code Online (Sandbox Code Playgroud)
当unauthorized()被调用时,它可以首先检查blueprint_login_views,如果没有设置,则login_views检查,然后"HTTP 401 (Unauthorized) error"如果没有设置则引发。但没有可行的示例如何blueprint_login_views设置login_manager。请帮忙。
OP的原始答案格式正确:
我自己现在可以解决这个问题。我删除了“login_manager.login_view”,并在加载蓝图后在 app/ init .py中添加了以下块。
Run Code Online (Sandbox Code Playgroud)login_manager.blueprint_login_views = { 'partners': '/partner/login', 'customers': '/customer/login', 'admin' : '/admin/login', }
| 归档时间: |
|
| 查看次数: |
2604 次 |
| 最近记录: |