2014-07-07 141 views
1

我正在使用passport-facebook登錄到使用Facebook的網站(實現完整且工作良好)。現在,我想將用戶重定向到包含他們應該填寫的表單的頁面一旦他們從fb登錄,而沒有這樣做(這是沒有填寫表格並提交),他們不應該能夠訪問該網站上的任何其他鏈接。護照登錄重定向

下面是我想到的方法:一旦用戶登錄,我會在策略內部進行數據庫查詢,以查看他們以前是否提交過數據,如果他們已經提交過,我會在對象中設置session.filledOrNot = true我將返回完成的回調並使用此屬性來允許它們繼續或重定向回同一頁面。

這是一個很好的方法嗎?

回答

2

這可以通過兩種方式完成。

1.您可以讓用戶在註冊/註冊(無論您稱之爲什麼)時填寫表格。如果用戶沒有填寫表格,請不要讓他們註冊。

2.第二種方法是你的建議。讓用戶註冊並填寫表單,一旦用戶登錄,請檢查數據庫中您的條件「session.filledOrNot = true」是否滿足。缺點是您需要在每個API請求中進行此查詢,而不僅僅是登錄請求。

+1

我做第二種方式,雖然我從數據庫中爲每個請求查詢用戶實例,並且包含一個'registrationDone'布爾值,它需要在訪問受保護的路由之前完成註冊。 –

+0

我不確定是否設置會話數據來測試這是一種常見且通常遵循的方法,或者這是我不應該嘗試的!謝謝 :) –