我想就通過電子郵件激活用戶的最有效方式提出一些建議。當用戶註冊時,我想要創建一個激活碼,它將通過電子郵件發送,表示他們需要激活(激活碼以域名作爲參數以令牌形式發送)。但是,我不知道什麼最好的數據庫結構來處理這將是...通過電子郵件laravel(5.3)處理用戶激活的數據庫設置?
簡單的選擇,我相信,將有在users
表中activation_token
和activated
列,當URL與匹配用戶和activation_token
被擊中,activated
將變爲true /!0。雖然很簡單,但我希望在用戶表上儘可能節省空間。
或者,我可以製作一個包含user_id, token, activated
的activation
表,並創建users
和activation
之間的一對一關係。在User
型號有:
public function activation() {
return $this->hasOne('App\Activation');
}
public function activated() {
return $this->activation->activated != 0 ? true:false;
}
同樣,當令牌參數的URL被擊中的用戶,更改activated
1 /真。
激活鏈接和註冊確認正被推送到一個隊列中,所以我不會過分擔心用戶可以激活的速度,但更多的時間是用來驗證用戶的額外時間額外的參數是必需的。
我確定有可能有更好的方法來做到這一點,但在谷歌搜索用戶激活laravel 5.3後,結果通常是過時的方法和laravel版本的過時包或教程。除此之外,可用軟件包並不特別輕巧,並且具有許多我根本不需要的配置設置,因此不需要,因爲當我自己能夠做到這一點時,我看不到堵塞的重點。我也不願意拖過別人的包裹,並刪除不必要的批量(根據我的需要)。
那麼,任何人都可以請建議一個更好的選擇,或支持上述想法之一?