我正在开发一个以flask框架为后端的webapp,我需要提供身份验证。
由于这是一个内部应用程序,将用于我们的本地域,我已选择验证用户与他们已经存在的域凭据。
我使用的方法是pywin32
中的win32security.LogonUser
,它在成功登录时返回一个句柄。
我试图理解flask登录的工作原理,但是@login_manager.user_loader
回调让我感到困惑。
它说我应该提供一个可以用来重新加载用户的id,但是我没有数据库或持久存储来提供这个映射,因为我只关心检查用户是否通过身份验证。
我的用户类如下所示:
class User(flask_login.UserMixin):
def __init__(self,username):
self.username = username
self.id = ???
如何使用id
,以及如何将此id映射回此实例?
可以在python中使用LDAP模块完成此操作:
self.id应该是唯一的字符串。 它可以是:
只要选一个,而且要明智。我更喜欢用sAMAcountName来做我自己的工作。 它要求您在ldap绑定后执行LDAPSearch。
应与应用程序用户进行第一次未经身份验证的绑定(以查找DN),以避免信息泄漏(以防被黑客攻击)。
Ldap连接是资源=>;使用上下文管理器
Flask登录不依赖或不需要用户的任何特定后端。你必须表示用户对象并返回一个id
flask-login: can't understand how it works
相关问题 更多 >
编程相关推荐