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