Authenticated()是如何工作的?

我开始学习node/express js,而且我使用passport做了一个登录系统,但是我想在我的系统中创建一个member page,只有已经登录的用户可以访问,经过一些研究后我发现了答案here,以及它使用isAuthenticated()“这是在文档没有提到井”,Authenticated()是如何工作的?

但其实我不明白它是如何工作的,程序是如何知道用户登录或没有是很容易! ,我很感激,如果任何人可以清除这件事对我来说

回答:

嘛,你不显示任何代码,所以我们真的不知道你的网站是干什么的,但据推测最初的认证步骤设置加密的会话因此无论浏览器在不久的将来发出请求,服务器都可以测试该请求是否存在适当的会话cookie。如果是这样,该浏览器已登录。这通常是“登录”在浏览器中的工作原理。

所以,看isAuthenticated()检查是否所期望的cookie是存在于该请求。取决于代码的细节,一些中间件可能已经检查了饼干和预先设置属性上表示,如果它已经验证过了,并isAuthenticated()只是检查先前计算属性的请求。

而且,作为一个可以以the source code in the Github repository看到,它只是检查以查看是否有user属性上,这意味着一些现有的中间件已经研究了与该请求相关联的cookie,并确定它代表一个有效的用户的请求已经存在。

req.isAuthenticated = function() { 

var property = 'user';

if (this._passport && this._passport.instance) {

property = this._passport.instance._userProperty || 'user';

}

return (this[property]) ? true : false;

};

更多解释见在护照代码here的意见,因为它描述的东西一般是如何工作的。

以上是 Authenticated()是如何工作的? 的全部内容, 来源链接: utcz.com/qa/259011.html

回到顶部