Laravel访客中间件

时间:2019-03-25 08:46:53

标签: laravel-5 laravel-middleware laravel-5.8

我的Web应用程序中有一个页面,应该阻止该页面登录的用户。类似于已经登录的用户不应该访问登录或注册页面的方式。我是通过在控制器构造函数中使用来宾中间件来实现的。

for number in check_prime:
    for x in range (2,int(number**0.5)+1):
        if number % x ==0:
            print("{} is not a prime because {} is a factor of {}".format(number,x,number))
            break
    else:
        print ("{} is a prime number".format(number))

在此设置中,如果登录的用户尝试访问该页面,则他们将被重定向到主页。但是我需要显示一个404 not found页面而不是重定向。我该怎么办?

简而言之,我该如何使一个页面仅可供来宾访问,并使其看起来好像登录用户不存在?

2 个答案:

答案 0 :(得分:1)

在您的方法中,只需检查用户是否已登录,然后中止至404,如下所示...

np.sqrt

答案 1 :(得分:1)

来宾逻辑位于App\Http\Middleware\RedirectIfAuthenticated内部。

if (Auth::guard($guard)->check()) {
    abort(404)
}

return $next($request);

否则,您需要创建一个新的中间件,如建议的@Atiqur。