我正在建立一个商店,所以我可以学习laravel。 与大多数商店一样,用户可以将商品添加到购物车,但在注册之前无法结帐。 我如何拥有相同的路线授权时返回用户名,授权时返回什么都不是。 这似乎很容易对我来说是第一次:laravel auth中间件:一个路由,两个视图
@if(Auth::guest())
Nothing || or login/register buttons
@else
{{ Auth::user()->name }}
@endif
,当你有内容应该只对忠实用户,但对于一家商店看到效果很好,你需要用户看到什么有提供。
的问题是,在我家的控制器,我需要添加中间件AUTH在构造函数中,这样Route::get('/',[email protected]);
返回一个视图,并在视图中使用@if(Auth::guest()) ...
,但加入这个中间件意味着这条路是不是如果用户访问没有验证,没有它you get this issue。
那么如何在不阻止来自未认证用户的路由的情况下使用经过身份验证的用户数据(if authenticated)
拥有相同的根路由?
不要在任何公共路由上放置auth中间件,使用你问题中提到的@if @ else块。我不确定你的问题是真的,你链接的问题中的问题是关于不同的中间件,'网络' – Steve
我没有完全明白你的意思?验证::检查()?会检查用户是否通过身份验证? – Birdy
@Birdy&@Steve,是的,但如果路由没有认证中间件,则不起作用。如果你在ebay上,去易趣,网址是ebay.com,登录网址是signin.ebay.com/...,登录后的网址是ebay.com,而不是ebay.com/home或ebay.com /验证用户。如果你有公共数据和auth唯一的数据,'''php artisan make:auth'''的默认laravel auth有效。在这种情况下,所有数据都是公开的,但用户可能拥有一个账户以获得更多访问权限。g checkout – user3533087