Muk*_*tel 5 php laravel laravel-5
拉拉维尔 5.2
我有多个身份验证 Gard,如下所示
行政 客户 员工
我有
ItemController
->index.blade.php
->create.blade.php
->edit.blade.php
ItemKitController
->index.blade.php
->create.blade.php
->edit.blade.php
我想使用 Client 和 Employee Guard 访问上面提到的相同控制器和视图。
是他们任何可能的方式。
小智 6
也许你想要这样的东西
public function __construct()
{
$this->middleware('auth:Admin,Clients,Employee');
}
Run Code Online (Sandbox Code Playgroud)
在你的控制器中
您可以使用中间件,例如:
Route::group([ 'middleware' => ['Admin', 'Clients', 'Employee'] ], function(){
Route::get('/Admin', 'AdminController@index');
Route::get('/Clients', 'ClientsController@index');
Route::get('/Employee', 'EmployeeController@index');
});
Run Code Online (Sandbox Code Playgroud)
例如,我有一个管理中间件,用于检查用户 id 是否为 1
<?php
namespace App\Http\Middleware;
use Closure;
use Auth;
use Log;
class AuthAdmin
{
private $admins; // Admin ids
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->admins = config('custom.admins'); // get configs
$user = Auth::user();
if($user->id != 1)){
// not admin, redirect home
return redirect('/');
}
// is admin, let request continue
return $next($request);
}
}
Run Code Online (Sandbox Code Playgroud)
然后你必须将其添加到 Kernel.php“$routeMiddleware”:
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
// Custom Middleware
// Auth Admin
'auth_admin' => \App\Http\Middleware\AuthAdmin::class,
];
Run Code Online (Sandbox Code Playgroud)
然后在我的路线中:
Route::group([ 'middleware' => ['auth_admin'] ], function(){
// nobody can come to these routes but admins
Route::get('/admin/index', 'AdminController@index');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3985 次 |
| 最近记录: |