我是Laravel 5的新手,我只想知道如何保护特定路线?我使用默认的Authenticate Middleware来保护我的路线,只有在您登录后才能访问。所以我有这个。
Route::group(['middleware' => 'App\Http\Middleware\Authenticate'], function() /* Admin only Routes*/
{
Route::get('/brk/datalist', 'BRKDailyMailsController@datalist');
});
如何仅保护/ auth / register?不影响其他人如登录?
在我的路线组之外我默认使用此功能。
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
我只希望登录用户访问默认注册页面。我登录的用户都是管理员。
答案 0 :(得分:0)
您可以为特定路径设置中间件,如下所示:
Route::any('register', [
'as' => 'register',
'middleware' => 'auth',
'uses' => 'AuthController@anyRegister'
]);
这种方式只有登录的用户才能使用" /注册页面。
它被命名为"注册"您也可以在模板中使用它,按名称重定向等。
如果它"通过"中间件(用户登录)将执行AuthController中的anyRegister操作。
您可以随意根据需要对其进行修改,这只是如何实现这一目标的一个示例。
答案 1 :(得分:0)
您可以尝试这样
Route::group(['middleware' => 'auth'], function()
{
Route::get('/brk/datalist', 'BRKDailyMailsController@datalist');
});
或者你可以在每个控制器的第一行使用构造
public function __construct()
{
$this->middleware('auth');
}