我正在学习laravel 5.4版。 我刚刚使用laravel和网站和管理面板制作了一个简单的博客文章应用程序
因此在导航栏中,常见于前端代码的代码如下所示
@if (Auth::guest())
<li><a href="{{ route('login') }}">Login</a></li>
<li><a href="{{ route('register') }}">Register</a></li>
@else
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
{{ Auth::user()->vName }} <span class="caret"></span>
</a>
</li>
并在控制器中
class PostController extends Controller
{
public function __construct()
{
//$this->middleware('auth:user'); << i also tried thi
$this->middleware('auth:user')->except('index','show');
}
所以问题是我想允许所有用户无需登录即可阅读博客文章 但是,如果我添加此中间件,则用户如果没有登录就无法访问该页面。
比我还尝试输入except()
关键字。添加此功能后,它可以工作,但导航栏中存在问题,它仍然显示Login/Register
而不是显示注销按钮和配置文件名称。
答案 0 :(得分:0)
已更新:将控制器中间件重构为
$this->middleware('auth:web,user', ['except' => ['index', 'show']]);
并尝试注册一个新用户