I want different admins to be able to log in at the same time in different browser windows and access their own data independently. I have implemented multiauth system using some internet references.
auth.php
<?php
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'admin-api' => [
'driver' => 'token',
'provider' => 'admins',
],
'sp' => [
'driver' => 'session',
'provider' => 'sps',
],
'sp-api' => [
'driver' => 'token',
'provider' => 'sps',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\Admin::class,
],
'sps' => [
'driver' => 'eloquent',
'model' => App\Sp::class,
],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
],
'admins' => [
'provider' => 'admins',
'table' => 'password_resets',
'expire' => 15,
],
'sps' => [
'provider' => 'sps',
'table' => 'password_resets',
'expire' => 30,
],
],
];
Web.php :
Route::get('/admin/login', 'Auth\AdminLoginController@showLoginForm')->name('admin.login');
Route::post('/admin/login', 'Auth\AdminLoginController@login')->name('admin.login.submit');
Route::get('/admin', 'AdminController@index')->name('admin.dashboard');
Route::get('/admin/logout', 'Auth\AdminLoginController@adminlogout')->name('admin.logout');
Route::get('/admin/register', 'Auth\AdminRegisterController@showRegisterForm')->name('admin.register');
Route::post('/admin/register', 'Auth\AdminRegisterController@store')->name('admin.register.submit');
AdminController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AdminController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth:admin');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('admin');
}
}
AdminLoginController.php
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Auth;
class AdminLoginController extends Controller
{
public function __construct()
{
$this->middleware('guest:admin', ['except' => ['adminlogout']]);
}
public function showLoginForm()
{
return view('auth.admin-login');
}
public function login(Request $request)
{
$this->validate($request,[
'email' => 'required|email',
'password' => 'required|min:6'
]);
if (Auth::guard('admin')->attempt(['email'=>$request->email, 'password'=> $request->password], $request->remember))
{
return redirect()->intended(route('admin.dashboard'));
}
return redirect()->back()->withInput($request->only('email','remember'));
}
public function adminlogout()
{
Auth::guard('admin')->logout();
return redirect('/');
}
}
Please help me doing changes to my code so I can login Multiple Admins in different browser tabs independently at the same time. Thank You.
from Newest questions tagged laravel-5 - Stack Overflow http://ift.tt/2G70QIk
via IFTTT
Aucun commentaire:
Enregistrer un commentaire