laravel-admin前台view视图中判断是否已登录,是否为超级管理员

发布于2019-11-11 10:54:48  分类:laravel   阅读( 50 ) 

在laravel中,判断是户是否已登录的方法是:

use Illuminate\Support\Facades\Auth;
if (Auth::check()) {
    // 用户已经登录了...
}

获取用户信息可以使用:

// 获取当前通过认证的用户...
$user = Auth::user();
//  获取当前通过认证的用户 ID...
$id = Auth::id();

不过,在使用普遍的laravel-admin扩展中,却只提到获取用户信息的相关方法:

获取当前用户对象
Admin::user();
获取当前用户id
Admin::user()->id;
获取用户角色
Admin::user()->roles;
获取用户的权限
Admin::user()->permissions;
用户是否某个角色
Admin::user()->isRole('developer');
是否有某个权限
Admin::user()->can('create-post');
是否没有某个权限
Admin::user()->cannot('delete-post');
是否是超级管理员
Admin::user()->isAdministrator();
是否是其中的角色
Admin::user()->inRoles(['editor', 'developer']);

没有判断登台用户是否已登录的方法,经实践,可以用以下方法判断:

@if (Admin::user())
@if(Admin::user()->isAdministrator())
<a href="/admin/blog/{{ $data->id }}/edit">编辑</a>
@endif
@endif

通过先判断用户对象是否存在,再判断是否为超级管理员,两个步骤完成,这样就不会在没登录时报错了。

最后更新于:2019-11-11 10:54:48


上一篇: 记一次迁移服务器后,Laravel6.5 redis队列不执行的解决经过

下一篇: 凭借一个词语的力量


  • 最新评论(共0条)
需要登录才能发表评论

加入组织

  • QQ
  • 1. 手Q扫左侧二维码

    2. 搜Q群:617719749

    3. 点击加入学习群

最新评论