Python 你认为';s是经过身份验证的,并且是匿名的吗?

Python 你认为';s是经过身份验证的,并且是匿名的吗?,python,flask,flask-login,Python,Flask,Flask Login,在文档中,经过身份验证定义为 “是否已通过认证: 如果用户经过身份验证,即他们提供了有效凭据,则返回True。“ 然而,我不明白什么时候调用这个方法,它的意义是什么,同样的也是匿名的。在本例中,它们分别返回True和False。他们是干什么的 提前谢谢 编辑:这不是重复,因为“重复”线程没有回答我提出的问题。我不熟悉lib,但在快速检查源代码后: 有两类: UserMixin和匿名UserMixin。 对于UserMixin是经过身份验证的是真的和是匿名的是假的,而匿名的则相反 因此,当您打开应

在文档中,
经过身份验证
定义为

“是否已通过认证: 如果用户经过身份验证,即他们提供了有效凭据,则返回True。“

然而,我不明白什么时候调用这个方法,它的意义是什么,同样的
也是匿名的。在本例中,它们分别返回True和False。他们是干什么的

提前谢谢


编辑:这不是重复,因为“重复”线程没有回答我提出的问题。

我不熟悉lib,但在快速检查源代码后:
有两类:
UserMixin
匿名UserMixin
。 对于
UserMixin
是经过身份验证的
真的
是匿名的
假的
,而
匿名的
则相反

因此,当您打开应用程序而不进行身份验证时(当前会话没有
用户id
),flask login会将用户设置为匿名用户(创建
AnonymousUserMixin
)的实例,否则会创建
UserMixin
(我不认为这些类应该被称为
mixins
,但这并不重要)


长话短说,取决于您是否通过身份验证,
user
通过flask login创建的对象将从类中实例化,如果您使用flask提供的基本用户类,则相应的值为
is\u authenticated
is\u anonymous
。这些方法有助于编写处理个人必须登录的“管理”页面。调用user.is_anonymous会让您知道个人当前未登录,如果他们试图访问需要登录访问的页面,则装饰程序可以返回禁止的消息或重定向到登录页面

调用user.is_authenticated将让您知道用户是否已成功输入密码,并且当前已登录到您的网站

此外,用户在首次加载应用程序中的页面时始终是匿名的(AnonymousUser类的实例化),然后从数据库加载该用户时,该用户是该用户类的实例化。但是在此阶段,他们仍然未经身份验证。直到您登录用户(user)用户被认为是经过身份验证的


当你说“用户在第一次加载页面时总是匿名的”时,你的意思是“第一次”吗?是的,当它是一个新的会话时