更新用户帐户时,只允许用户本身和管理员这样做的最佳方法是什么?
我使用multiauth,我能想到的唯一方法是:
public function update($id)
{
if (Auth::admin()->check() || Auth::user()->get()->id == $id)
{
// Allow update
}
}
有更清洁的方法吗?
答案 0 :(得分:0)
您放置此代码的位置取决于您的架构。
如果它是一个简单的设置,模型可能是它的理想之地:
class User extends Eloquent implements .... {
protected static function boot($id)
{
static::updating(function($user)
{
return $user->canCurrentUserUpdate();
});
}
protected function canCurrentUserUpdate()
{
return Auth::admin()->check() || Auth::user()->get()->id == $this->id;
}
}