简体   繁体   English

登录后如何使真实用户无法进入管理页面

[英]how to make authentic user afte login cant going to admin page

Not able to separate user and admin authentication.无法分离用户和管理员身份验证。

This is My Middleware Player, The Problem is after i login as user i still can access admin Page.这是我的中间件播放器,问题是在我以用户身份登录后,我仍然可以访问管理页面。

Middleware : Player中间件:播放器

<?php

namespace App\Http\Middleware;

use Auth;
use Closure;

class Player
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (!Auth::check()) {
            return redirect()->route('login');
        }

        if (Auth::user()->role == 1) {
            return redirect()->route('admin');
        }

        if (Auth::user()->role == 2) {
            return $next($request);
        }
    }
}

and this my routing这是我的路由

Rout:溃败:

// User Route
Auth::routes(['verify' => true]);
Route::get('/player', 'PlayerController@index')->name('player')->middleware('player');
Route::post('/player/submit', 'PlayerController@createPlayer');

// Admin Route
Route::get('/admin', 'AdminController@index')->name('admin')->middleware('admin');

Make sure you registred your middleware in App/Http/Kerner.php right after that debug your middleware using dd(Auth::user()) or dump(Auth::user()) helper and check a request is entering in your middleware successfully.确保在使用dd(Auth::user())dump(Auth::user())帮助App/Http/Kerner.php调试中间件后App/Http/Kerner.phpApp/Http/Kerner.php中间件,并检查请求是否正在进入您的中间件成功地。

public function handle($request, Closure $next)
{

    dd(Auth::user());

    // Or

    dd(Auth::user()->role);

    if (!Auth::check()) {
        return redirect()->route('login');
    }

    if (Auth::user()->role == 1) {
        return redirect()->route('admin');
    }

    if (Auth::user()->role == 2) {
        return $next($request);
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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