我有一个在我使用的Laravel 5.2应用程序之外运行的php脚本,我想从这个外部php脚本访问Auth :: class。因此,如果用户登录了laravel应用程序,他也可以执行此php文件。
你能说出这是怎么做的吗?
现在我有了这个:
require __DIR__.'../../../../bootstrap/autoload.php';
$app = require __DIR__.'../../../../bootstrap/app.php';
$app->boot();
$app->register(\Illuminate\Auth\AuthServiceProvider::class);
dd($app['auth']);
这给了我一些auth实例,但不知道如何处理它。我需要有类似的东西:
if ($app['auth']::guest()) {
dd("Go away you guest.");
}
由于
答案 0 :(得分:0)
您不需要在Laravel核心文件中执行任何操作...只需添加一些路由并将Auth
中间件添加到您所需的路由中,因此未经身份验证的用户将无法访问上述URL
Route::group(['prefix'=>'admin', 'middleware'=>'auth'], function(){
Route::get('dashboard',['as'=>'user-dashboard','uses'=>'Admin\UserController@dashboard']);
});
现在使用此middleware'=>'auth'
仅登录用户可以访问Dashboard page
答案 1 :(得分:0)
对于5.7,在外部文件上添加以下代码:
require $_SERVER['DOCUMENT_ROOT'].'/appname/vendor/autoload.php';
$app = require_once $_SERVER['DOCUMENT_ROOT'].'/appname/bootstrap/app.php';
$app->make('Illuminate\Contracts\Http\Kernel')
->handle(Illuminate\Http\Request::capture());