Laravel 5.2,如何从任何路由访问用户信息

时间:2016-02-07 04:05:19

标签: php laravel-5 laravel-5.2

我已经设法根据用户凭据将用户重定向到网站的不同视图/部分,比如用户想要查看他们的个人资料,没有问题,或者添加新的&#34;帖子&#34;。< / p>

路线:

/admin <--- only admins no problem
/myprofile <-- only register users no problem
/admin/reports <-- only admins with certain access... no problem

foo.com/显示常规主页,当用户登录时,他们会发送到foo.com/home我可以访问用户信息,但如果用户转到foo.com/contact,我会丢失用户信息,它表示用户还没有登录。

因此,用户进入登录状态并被重定向到foo.com/home而无需登录,因为用户已经登录。

因此,为了让我能够访问用户信息,我必须将此代码添加到ContactController.php

public function __construct(){
    $this->middleware('auth');
}

但是,通过这样做,任何其他人都必须登录或注册才能访问我的/contact页面而我们不想要那个,是吗?

那么我们如何检查用户是否已登录以及网站上任何页面使用了哪些凭据,同时还可以访问常客。

假设我们有/contact/services/products等。这些网页不需要身份验证,但我们要检查用户是否已登录并访问该信息

1 个答案:

答案 0 :(得分:1)

routes.php文件中,您需要将需要会话的每条路由声明到web中间件中,因此请检查内部是否有contact路由。

Route::group(['middleware' => 'web'], function(){
   // contact route here
});