Php 我可以在laravel控制器文件的功能之外进行授权检查吗?
每次在调用laravel中的函数之前,我都会检查请求ajax链接的人是否已登录。 我必须把这个检查函数放在每个函数中才能使它工作。如果我在函数外写入,它只会打印 请登录以查看此内容是否正常工作 即使我已登录。有没有办法将check函数放在控制器文件的开头,这样我就不必每次都在函数中写入它Php 我可以在laravel控制器文件的功能之外进行授权检查吗?,php,laravel,controller,authorization,Php,Laravel,Controller,Authorization,每次在调用laravel中的函数之前,我都会检查请求ajax链接的人是否已登录。 我必须把这个检查函数放在每个函数中才能使它工作。如果我在函数外写入,它只会打印 请登录以查看此内容是否正常工作 即使我已登录。有没有办法将check函数放在控制器文件的开头,这样我就不必每次都在函数中写入它 function index() if(!\Auth::check()) return response()->json(array(
function index()
if(!\Auth::check())
return response()->json(array(
'status'=>'error',
'message'=> 'Please login to see this content'
));
return redirect('/login')->with('msgstatus', 'error')->with('messagetext','Please login to see this content'); }
function loadcalendar()
if(!\Auth::check())
return response()->json(array(
'status'=>'error',
'message'=> 'Please login to see this content'
));
//somedefinition
}
function savecalendar()
if(!\Auth::check())
return response()->json(array(
'status'=>'error',
'message'=> 'Please login to see this content'
));
//somedefinition
}
从Laravel文档:
即使可以确定用户是否经过身份验证
使用check方法,您通常会使用中间件进行验证
在允许用户访问之前,用户已通过身份验证
某些路由/控制器。要了解更多信息,请查看
关于保护路线的文件
内置中间件可实现以下功能:
定义:
public function __construct()
{
$this->middleware('auth');
}
例如,在控制器中,将对照验证中间件检查该控制器上的每个方法。来自Laravel文档:
即使可以确定用户是否经过身份验证
使用check方法,您通常会使用中间件进行验证
在允许用户访问之前,用户已通过身份验证
某些路由/控制器。要了解更多信息,请查看
关于保护路线的文件
内置中间件可实现以下功能:
定义:
public function __construct()
{
$this->middleware('auth');
}
例如,在您的控制器中,将对照auth中间件检查该控制器上的每个方法。是。您可能需要在此处构建:
public function __construct()
{
$this->middleware('auth');
}
每个函数现在都需要身份验证。是。您可能需要在此处构建:
public function __construct()
{
$this->middleware('auth');
}
现在每个功能都需要身份验证。在控制器中,
添加此构造函数方法。这将使用内置的Auth中间件,并将所有未登录的用户重定向到登录页面
public function __construct()
{
$this->middleware('auth');
}
在控制器中,
添加此构造函数方法。这将使用内置的Auth中间件,并将所有未登录的用户重定向到登录页面
public function __construct()
{
$this->middleware('auth');
}
听起来你在找一个新的工作 现成的laravel有一个
auth
中间件,用于检查用户是否登录。要保护控制器上的特定路由,只需将其添加到路由中:
Route::get('/', 'YourController@index')->middleware('auth');
或者在构造函数或控制器中定义它:
public function __construct()
{
$this->middleware('auth');
}
在使用构造函数方法时,还可以指定应该检查中间件的方法
public function __construct()
{
$this->middleware('auth');
$this->middleware('log')->only('index');
$this->middleware('subscribed')->except('store');
}
请参阅文档中的。听起来您正在寻找一个新的解决方案 现成的laravel有一个
auth
中间件,用于检查用户是否登录。要保护控制器上的特定路由,只需将其添加到路由中:
Route::get('/', 'YourController@index')->middleware('auth');
或者在构造函数或控制器中定义它:
public function __construct()
{
$this->middleware('auth');
}
在使用构造函数方法时,还可以指定应该检查中间件的方法
public function __construct()
{
$this->middleware('auth');
$this->middleware('log')->only('index');
$this->middleware('subscribed')->except('store');
}
请参阅文档中的