首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel多重安全检查

Laravel多重安全检查
EN

Stack Overflow用户
提问于 2022-11-20 17:52:26
回答 2查看 23关注 0票数 0

我用laravel制作了一个具有不同角色的平台,我想问一下下面的代码是否安全地用于定义角色

例如,我想为管理和用户使用不同的路径,并根据角色向他们展示一些特定的内容:这是检查角色的好方法吗,还是我必须修改代码:

代码语言:javascript
复制
  @if(auth()->user()->role=='user')
                    You'are user
                    @elseif(auth()->user()->role=='admin')
                    You're admin
                    @endif

我还希望登录是同一个页面,不要更改url上的内容。

EN

回答 2

Stack Overflow用户

发布于 2022-11-20 18:34:56

如果您想知道是否有可能管理角色内容将是可见的用户,没有。

如果您有3+用户角色,我建议您使用laravel权限。你可以使用像$user->hasRole('admin')或$user->hasAnyRole(‘超级管理员’,‘admin’)之类的东西;

票数 0
EN

Stack Overflow用户

发布于 2022-11-20 20:36:36

试试这个

代码语言:javascript
复制
$user = Auth::user();
if ($user->hasRole('admin')) {
      You'are admin.
}else if($user->hasRole('user')) {
       You'are user.
}

or If you are using Laravel Spatie  package then use this

 First, add the 
Spatie\Permission\Traits\HasRoles 
trait to your User model(s):
then write inside class  
 use HasRoles;

 if($user->getRoleNames()[0]=='user'){
 You'are user.
}

In Blade
   @role('user')
    I am a user!
@else
    I am not a user ...
@endrole
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74510542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档