Laravel 5 中间件中的Laravel 5用户授权

Laravel 5 中间件中的Laravel 5用户授权,laravel-5,Laravel 5,我一直在与laravel 5合作,我想根据用户类中的id创建一个自动生成路线。看起来是这样的: <?php namespace App; use Illuminate\Auth\Authenticatable; use Illuminate\Database\Eloquent\Model; use Illuminate\Auth\Passwords\CanResetPassword; use Illuminate\Contracts\Auth\Authenticatable as Aut

我一直在与laravel 5合作,我想根据用户类中的id创建一个自动生成路线。看起来是这样的:

<?php namespace App;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract {

use Authenticatable, CanResetPassword;

/**
 * The database table used by the model.
 *
 * @var string
 */
protected $table = 'users';

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'id',
    'email',
    'password',
    'AutorisationId',
    'Firstname',
    'Lastname',
    'OrganisationId'
];

/**
 * The attributes excluded from the model's JSON form.
 *
 * @var array
 */
protected $hidden = ['password', 'remember_token'];


/**
 * @return \Illuminate\Database\Eloquent\Relations\HasOne
 */
public function autorisation()
{
    return $this->HasOne('App\Autorisation', 'id', 'AutorisationId');
}

/**
 * @return \Illuminate\Database\Eloquent\Relations\HasOne
 */
public function organisation()
{
    return $this->HasOne('App\Organisation', 'id', 'OrganisationId');
}

}

但它总是重新指向adminpage。我做错了什么?我在谷歌上搜索了很多这个问题,但是我尝试过的每个解决方案都不起作用。

在你的问题中包括routes.php文件。我在你询问时添加了routes.php文件。你的应用程序的入口点在哪里?我假设您有一个重定向到管理员、组织或来宾的/进入路线。您有自己的中间件,但必须将其应用于路由或控制器。
<?php namespace App\Http\Middleware;

use Closure;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Http\RedirectResponse;

class RedirectIfAuthenticated {

/**
 * The Guard implementation.
 *
 * @var Guard
 */
protected $auth;

/**
 * Create a new filter instance.
 *
 * @param  Guard  $auth
 * @return void
 */
public function __construct(Guard $auth)
{
    $this->auth = $auth;
}

/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    if ($this->auth->check()) {

        if (\Auth::user()->autorisationId === 1) {
            return redirect('admin');
        } else if (\Auth::user()->autorisationId === 2) {
            return redirect('organisation');
        } else if (\Auth::user()->autorisationId === 3) {
            return redirect('guest');
        }

        return $next($request);
    }

}
}
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'WelcomeController@index');

Route::get('home', 'HomeController@index');

Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);

Route::get('admin', 'AdminController@index');
Route::resource('admin/systemData', 'Admin\systemDataController');
Route::resource('admin/Organisations', 'Admin\OrganisationController');
Route::post('admin/Organisations/activeOrganisation', 'Admin\OrganisationController@setOrgansationActive');
Route::get('admin/logout', 'AdminController@Logout');

Route::resource('organisation', 'Organisation\admin\adminController');
Route::get('organisation/logout', 'AdminController@Logout');
Route::resource('guest', 'Organisation\guest\guestController');
Route::get('guest/logout', 'AdminController@Logout');