没有数据库或模型的Laravel 5.2自定义身份验证

时间:2017-08-15 18:51:10

标签: php laravel laravel-5.2

Laravel 5.2自定义身份验证,不包含数据库或模型,而来自远程服务器的数据包含true或false

1 个答案:

答案 0 :(得分:1)

使用自定义身份验证中间件对路由进行分组:

Route::group(['middleware' => 'myauth'], function() {
    Route::get('...');
    Route::post('...');
});

然后创建一个中间件:

<?php

namespace App\Http\Middleware;

use Closure;

class Myauth
{
    public function handle($request, Closure $next, $guard = null)
    {
        if(session()->has('authenticated')) {
            return $next($request);    
        } else {
            return response('Unauthorized.', 401);
            //OR return redirect()->guest('/');
        }
    }
}

在您的应用程序的某些方面,您需要设置session('authenticated', true)

这是一种可行的方法,但您可以选择更好的方法,例如OAuth。