2014-07-07 144 views
1

我正在使用passport-facebook登录到使用Facebook的网站(实现完整且工作良好)。现在,我想将用户重定向到包含他们应该填写的表单的页面一旦他们从fb登录,而没有这样做(这是没有填写表格并提交),他们不应该能够访问该网站上的任何其他链接。护照登录重定向

下面是我想到的方法:一旦用户登录,我会在策略内部进行数据库查询,以查看他们以前是否提交过数据,如果他们已经提交过,我会在对象中设置session.filledOrNot = true我将返回完成的回调并使用此属性来允许它们继续或重定向回同一页面。

这是一个很好的方法吗?

回答

2

这可以通过两种方式完成。

1.您可以让用户在注册/注册(无论您称之为什么)时填写表格。如果用户没有填写表格,请不要让他们注册。

2.第二种方法是你的建议。让用户注册并填写表单,一旦用户登录,请检查数据库中您的条件“session.filledOrNot = true”是否满足。缺点是您需要在每个API请求中进行此查询,而不仅仅是登录请求。

+1

我做第二种方式,虽然我从数据库中为每个请求查询用户实例,并且包含一个'registrationDone'布尔值,它需要在访问受保护的路由之前完成注册。 –

+0

我不确定是否设置会话数据来测试这是一种常见且通常遵循的方法,或者这是我不应该尝试的!谢谢 :) –