2016-01-20 137 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方法 –

相关问题