当前位置: 首页 > 知识库问答 >
问题:

Laravel 5中间件保护路由

高功
2023-03-14

我是拉威尔5号的新手,我只是想知道如何保护特定路线?我正在使用默认的身份验证中间件来保护我的路由,这只有在您登录时才可访问。所以我有这个。

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',
]);

我只希望登录的用户访问默认的注册页面。我的登录用户都是管理员。

共有2个答案

倪鸿禧
2023-03-14

你可以这样试试

Route::group(['middleware' => 'auth'], function()
{
    Route::get('/brk/datalist', 'BRKDailyMailsController@datalist');
});

或者你可以在每个控制器的第一行使用构造

public function __construct()
{
    $this->middleware('auth');
}
燕禄
2023-03-14

您可以为特定路由设置中间件,如下所示:

Route::any('register', [
    'as' => 'register', 
    'middleware' => 'auth',
    'uses' => 'AuthController@anyRegister'
]);

这样,只有登录的用户才能“使用”注册页面。

它也被命名为“注册”,所以你可以使用它在你的模板,重定向等名称。

如果它“通过”中间件(用户已登录),则将执行来自AuthController的anyRegister操作。

请随时根据需要修改它,这只是如何实现的一个例子。

 类似资料:
  • 在< code>/users下,我有一些需要身份验证令牌的路由,还有一些不需要。为了实现这一点,我做了以下工作。 然后我按照以下方式安装这些路线。 当我向< code>/users发送POST时,它运行预期的路径,但是当< code>next()被调用时,< code > protected _ middleware 运行。这是因为它在标有“D”的行中找到了下一个< code>/users定义。

  • 我从这里的人那里得到了建议,并尝试了一下,我一直在尝试创建一个用户身份验证系统。我很难用雄辩的语言将我所知道的在PHP中工作的东西翻译成Laravel。 我在这里尝试做的是识别用户,他们的角色,如果用户有管理员的角色,他们可以访问路由 /admin 我知道我可以使用诸如委托之类的软件包,但这并不能真正帮助我学习。 我已经为用户和角色创建了模型。我还有一个名为role\u user的查找表,其中包含

  • 我正在使用react路由器v4和redux,如果用户未登录,我想使用私有和受保护的路由重定向。 我有一个路由组件: 它是这样实现的: 这是私人路线: 传递prop的最佳方式是什么,如果我连接Routes组件并从那里传递是否可以,或者应该从其他地方传递,或者连接需要它的每个组件并从那里读取?此外,这种方法如何处理嵌套路由,如?谢谢

  • 触摸保护 Yubikey 4 实现了新的触摸功能1,当你在设备上存储私钥时,可以实现第二层保护。当访问 Yubikey 时需要用户物理触碰触摸传感器,这样可以避免恶意软件在用户不知情的情况下访问 Yubikey。 触摸事件最多被请求 15 秒,随后便会关闭通知。 触摸传感器可以配置以下参数: off:触摸被关闭。 on:触摸打开。 fix:触摸被打开,除非生成或者导入新的私钥,触摸不能被关闭。 可

  •  创造不息,交付不止 Introduction A quick reference guide (cheat sheet) for Laravel 5.1 LTS, listing artisan, composer, routes and other useful bits of information. We intend to build this Cheat Sheet more asse