Flask登录没有持久性

时间:2014-09-15 21:42:10

标签: python flask flask-sqlalchemy flask-login

我的公司有一个Flask应用程序,它使用flask-login来处理用户登录/注销和会话。我们使用@login_required装饰器来保护视图。我们的客户通过存储在数据库中的持久用户进但是,我们希望我们公司的员工能够登录到我们客户的网站,而不会弹出他们的用户列表。我们通过CAS登录在我们自己的CAS服务器上验证我们自己的真实性,并检查用户名是否属于我们公司。

我们希望员工能够简单地登录而无需在数据库中持久存在,但烧瓶登录需要持久的用户模型。

很抱歉这里使用的话题很麻烦,但我希望这是不可理解的。

2 个答案:

答案 0 :(得分:1)

每个授权系统都应该通过某个字段检查某个存储中的用户,并且在通常情况下会返回existhas permisions

因此,使用flask-login,您可以使用user_loader / header_loader / request_loaderUserMixinuser_id实现它。

login_required调用*_loader的每个请求获取UserMixin。所以它看起来像下一个:

@login_manager.request_loader
def loader(request):
    identifier = get_identifier_from_request(request)
    exist = check_on_cas_server(identifier)
    if not exist:
        return None
    user = UserMixin()
    user.id = get_specified_or_random_id(identifier, exist)
    return user

您可以使用https://flask-login.readthedocs.org/en/latest/找到详细信息。

答案 1 :(得分:0)

您可以编写自己的,自定义的ggplot(data, aes(x = sequence, y = accuracy, group = response, colour = response)) + geom_errorbar(aes(ymin = accuracy - se, ymax = accuracy + se), width = .15, size = 0.5, position = pd) + geom_line(aes(linetype = response), position = pd) + geom_point(aes(shape = response), size = 2.3, position = pd) + scale_x_discrete(name = "Task Sequence") + scale_y_continuous(name = "Accuracy (Proportion)") + scale_color_manual(values = c("#999999", "#E69F00")) + facet_grid(~ age) 来处理您的特定登录需求。写一个实际上非常简单,https://medium.com/@nguyenkims/python-decorator-and-flask-3954dd186cda给出了一些关于如何创建这样的装饰器的伪代码。