简体   繁体   中英

How to Authenticate a user from a table rather than 'users' table in Laravel 5.1?

I am new to Laravel, and I am trying to authenticate a user from players table.

As we know Auth::attempt is used to authenticate a user, and by default it works for users table, and for users table it is working perfect. But now I want to authenticate another user (a player) from another table (players), but I am unable to find a solution.

I had the same requirement. I had two user tables users (for main website) and admins (for admin panel). For that to happen, I must authenicate admin user against admins table. I wanted to use stock authentication library. So, I made following middleware.

Of course I had separate login form for admin panel

<?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);
    }

}

All my routes within admin route group (ie domain.com/admin/** ) were protected by this middleware. So essentially I changed authentication model and table for admin area.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM