2016-01-20 136 views
0

我想僅使用密鑰字段爲我的網站創建身份驗證頁。帶密鑰的身份驗證用戶

enter image description here

例子:我給像「A5DP7123OAC」我的客戶登錄的關鍵。

如果代碼是正確的,他可以訪問他的面板。其實我只是創建一個Cookie:

withCookie(cookie()->forever('access', 'true')); 

但這不是我想的好方法。

您是否有解決方案來驗證用戶只能使用密鑰?

感謝的

+0

如果該代碼是唯一的,解決方案是從基於該代碼的數據庫獲取用戶並執行Auth :: login($ user); –

+0

如果我使用Auth :: login($ user);該請求將在用戶表上,我有一個專用的表格來灌注我的客戶密鑰。用戶爲空 – Pixel

+0

也許爲該客戶密鑰創建一個相關表格? –

回答

0

你可以通過你的關鍵會話,然後檢查是否用戶提供了關鍵的會話密鑰匹配。如果是這樣,您可以使用此處找到的其中一種方法手動記錄用戶:https://laravel.com/docs/5.2/authentication#other-authentication-methods

如果您不想使用會話,還可以創建數據庫表並將您的密鑰存儲在其中(可選地爲其提供過期)密鑰只在一段時間內有效。你也可以這樣做,以便密鑰只對一個IP地址有效。有很多選擇。

+0

感謝您的回答。如果我使用Auth :: class,則請求將位於「用戶」表中進行驗證。並且Auth :: class需要用戶名和表格 – Pixel

+0

如果您將密鑰存儲在數據庫表中,則可以從它們中創建一個雄辯對象。然後,您可以在關鍵模型上實施'Illuminate \ Contracts \ Auth \ Authenticatable'合同。然後更新你的'config/auth.php'文件來考慮你的新認證方法。然後你可以使用你的密鑰模型和auth方法 –

相關問題