我正在使用 L3 制作一个网站,以便客人无需登录即可发表评论,然后会有管理员登录。我有一个菜单栏,供客人和管理员使用,但在管理员登录时,菜单栏应该有更多选项。在我的布局上,这就是我所拥有的;
<div class="nav-collapse collapse" id="main-menu">
<ul class="nav" id="main-menu-left">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Contact Us<b class="caret"></b></a>
<ul class="dropdown-menu" id="swatch-menu">
<li>{{HTML::link('posts/contact','Leave a coment')}}</li>
<li>{{HTML::link('posts/location','Grt Our Locations')}}</li>
@if (Session::has('permission'))
<li>{{HTML::link('posts/review','Review Posts')}}</li>
<li>{{HTML::link('posts/list','List all Posts')}}</li>
@endif
</ul>
</div>
在我的管理员控制器上,我创建了一个 Session 以使帖子/评论和帖子/列表只能由管理员访问。这就是我所拥有的
public function post_login()
{
$email = Input::get('email');
$password = Input::get('password');
$credentials = array
('username' => $email,
'password' => $password);
if (Auth::attempt($credentials))
{
Session::put('permission', 'admin');
return Redirect::to('admin/index');
} else
{
Session::flash('status_error', 'Your email or password is invalid - please try again.');
return Redirect::to('admin/login');
}
}
这工作正常,除了客人将鼠标悬停在菜单栏上时可以看到管理链接(即他们可以看到“评论帖子”和“列出所有帖子”。他们无法访问页面(他们被重定向)到管理员登录页面)。我的问题是,我如何使这些链接对客人不可见,但在登录时对管理员可见?客人和管理员都必须使用相同的布局。提前谢谢你。