我用laravel制作了一个具有不同角色的平台,我想问一下下面的代码是否安全地用于定义角色
例如,我想为管理和用户使用不同的路径,并根据角色向他们展示一些特定的内容:这是检查角色的好方法吗,还是我必须修改代码:
@if(auth()->user()->role=='user')
You'are user
@elseif(auth()->user()->role=='admin')
You're admin
@endif我还希望登录是同一个页面,不要更改url上的内容。
发布于 2022-11-20 18:34:56
如果您想知道是否有可能管理角色内容将是可见的用户,没有。
如果您有3+用户角色,我建议您使用laravel权限。你可以使用像$user->hasRole('admin')或$user->hasAnyRole(‘超级管理员’,‘admin’)之类的东西;
发布于 2022-11-20 20:36:36
试试这个
$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 ...
@endrolehttps://stackoverflow.com/questions/74510542
复制相似问题