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

Laravel-如果未经授权,即使路由未注册,也重定向到登录

甄霖
2023-03-14

我正在Laravel v5.6中构建一个应用程序,它应该完全位于登录页面后面(除了登录页面本身和密码重置页面)。

我写了一个中间件类CheckAuth-要点是,

public function handle($request, Closure $next)
{
    if (auth()->guest() && $this->requestIsNotForGuests($request->path())) {
        return redirect()->route('login');
    }

    return $next($request);
}

如果未经验证的用户请求未注册的路由,他们将看到404页面。未经验证的用户不应该知道路由是否存在。

如何将任何未经身份验证的请求(不包括登录页面本身和密码重置页面)重定向到登录页面?

我曾尝试在routes/web中使用带有中间件的路由组。php,但这不是预期的工作。

使现代化

我在路由/web.php的末尾添加了以下内容,

Route::any('{any}', function() {
    abort(404);
})->where('any', '.*');

这实现了我想要的行为,但感觉不对——有更好的方法吗?

暂时还没有答案

 类似资料:
  • 我在Laravel5.2中进行了多次身份验证,一切正常。我能够验证管理员身份,重定向到仪表板并成功注销。但问题是,当用户并没有经过身份验证,并且我将仪表板的路由放在url中时,即使管理员并没有经过身份验证,它也会打开仪表板。 我的管理模型 我的配置/auth.php 我的中间件管理uth.php 应用程序/内核。php 登录ontroller.php 路线 当我登录并打开仪表板时,我可以看到登录管

  • 当我在web.php中定义了路由时,我在使用Laravel时遇到了一个路由未定义的错误,如下所示: 我正在从下面的代码重定向到路由 auth()代码可以工作,但当调用重定向时,我得到错误'route[home]not defined'。有没有人知道我怎么解决这个错误。任何帮助都会很好

  • 我在laravel中遇到了一个用户登录的问题,我可以正确地登录用户,但是问题是,在用户登录后,他被重定向到login POST方法,而不是home,我已经将

  • 问题内容: 我从Nexus存储库中检出了代码。我更改了帐户密码,并在文件中正确设置了密码。在执行时,我收到错误消息,说明它尝试从该存储库下载文件。 任何想法如何解决此错误?我在Maven 3.04中使用Windows 7 问题答案: 这里的问题是所使用的密码出现错字错误,由于密码中使用了字符/字母,因此很难识别。

  • 这是views.py的内容: 在转到“/”时,我被重定向到“/accounts/login”,它将我带到登录页面。我输入用户名和密码后,在“验证”打印语句printd“登录”到终端。 到目前为止还不错。现在,我不再被重定向到“/”,而是再次被重定向到“/accounts/login”,并再次显示输入用户名和密码的页面。为什么?

  • 我在routes.php中定义了一个简单的路由,位于任何路由之上: 当通过http访问时,它可以工作,但它提供: 当我试图通过https访问时。 我在网上搜索了很多,但没有找到任何解决方案。 我的主页正在加载超文本传输协议和https,但其他路由不工作。我需要一些额外的配置吗? 编辑: .htaccess: 请引导我。 塔克斯。