如何从 Laravel 5.1 中的表而不是“用户”表中对用户进行身份验证?
Posted
技术标签:
【中文标题】如何从 Laravel 5.1 中的表而不是“用户”表中对用户进行身份验证?【英文标题】:How to Authenticate a user from a table rather than 'users' table in Laravel 5.1? 【发布时间】:2015-11-17 12:19:58 【问题描述】:我是 Laravel 的新手,我正在尝试对玩家表中的用户进行身份验证。
正如我们所知,Auth::attempt
用于验证用户身份,默认情况下它适用于 users 表,而对于 users 表,它可以完美运行。但是现在我想从另一个表(玩家)验证另一个用户(玩家),但我找不到解决方案。
【问题讨论】:
创建一个新的身份验证,或者您可以使用身份验证的相同表用户和用户角色部分来允许/限制对您的应用程序的访问。希望对您有所帮助。 【参考方案1】:我也有同样的要求。我有两个用户表users
(用于主网站)和admins
(用于管理面板)。为此,我必须针对admins
表对admin
用户进行身份验证。我想使用股票认证库。所以,我做了以下中间件。
当然我有单独的管理面板登录表单
<?php namespace App\Http\Middleware;
use Closure;
class ChangeUserToAdmin
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
\Config::set('auth.table', 'admins');
\Config::set('auth.model', 'App\DB\Admin\Admin');
\Config::set('session.cookie', 'admin_session');
\Config::set('session.path', '/admin/');
return $next($request);
我在admin
路由组(即domain.com/admin/**
)中的所有路由都受此中间件保护。所以基本上我更改了admin
区域的身份验证模型和表。
【讨论】:
以上是关于如何从 Laravel 5.1 中的表而不是“用户”表中对用户进行身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 laravel 中的用户模型以使用其他表进行身份验证而不是用户?