我正在使用Laravel5。我在/ public / plugins / ckfinder目录中有引用ckfinder的文件夹。

我需要使用config.php中的CheckAuthentication函数,但是会话值和Auth Class为空。

我努力了

function CheckAuthentication(){
    return Auth::check();
}


要么

 //Ckfinder Config.php
function CheckAuthentication(){
        if($_SESSION['ckfinder_enabled'] == 'enabled') {
            return true;
        } else {
            return false;
        }
    }




        //App\Http\Middleware\Authenticate.php
    public function handle($request, Closure $next)
            {
                if ($this->auth->guest()){
                        if ($request->ajax()){
                            return response('Unauthorized.', 401);
                        }else{
                            return redirect()->guest('auth/login');
                        }
                    }

                if($this->auth->check()) {
                     $_SESSION['ckfinder_enabled'] = 'enabled';
                    return $next($request);
                }
            }

最佳答案

我也有同样的问题。您的代码对于laravel 4.2有用,但是对于laravel 5,您需要在ckfinder文件夹的config.php中执行此操作:

require _DIR_.'/../../../bootstrap/autoload.php';
$app = require_once _DIR_.'/../../../bootstrap/app.php';

$app->make('Illuminate\Contracts\Http\Kernel')
  ->handle(Illuminate\Http\Request::capture());


然后,您就可以使用以下代码了:

function CheckAuthentication(){
    return Auth::check();
}


这应该工作。

关于php - laravel 5的CKFinder身份验证问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30665618/

10-10 12:27