我编写了一个方法,用于检查用户是否是文件UserController中的管理员.php:
public function create(){
$chackIsAdmin = Auth::user()->permissions;
if ($chackIsAdmin === 1) {
return view('users.adduser');
} else {
return redirect('warehouse');
}
在"用户"表中,我有"权限"列。为每个用户分配一个数字 1 或 0。1 - 是管理员,0 不是管理员。
我还写了说明if,它只显示用户管理员"添加用户"选项:
@if (Auth::user()->permissions === 1)
<li><a href="{{ url('user/create') }}">Add new user</a></li>
@endif
这一切都可以正常工作,但我想知道在 Laravel 中我是否可以以不同的方式做到这一点?我的路是否安全?
我认为更好的方法是在User
模型上编写函数。
class User extends Model
{
public function isAdmin()
{
return $this->attributes['permissions'] == 1;
}
}
然后它非常易于使用...
return Auth::user()->isAdmin() ? view('users.adduser') : redirect('warehouse');