用户可以创建新对象,并确保新对象连接到正确的用户.我的 idea 是使用当前登录用户的user_id编写一个隐藏字段:
<input style="display:none" name="group_id" type="number" value="{{ Auth()->User()->group_id }}">
现在的问题是,有人可以更改此处的值,并为另一个数字创建Objekt.
我想确保并在后端判断它,或者删除隐藏字段并将值添加到请求中. 目前,我的存储方法如下所示:
public function store(StoreObjektRequest $request)
{
if (Auth()->User()->group_id != $request->group_id)
abort(403);
$this->authorize('create', Objekt::class);
Objekt::create($request->validated());
return redirect()->route('dashboard')->with('message', 'Objekt erfolgreich erstellt');
}
我的规则是:
public function rules()
{
return [
'name' => 'required|max:5',
'strasse' => 'required',
'hausnummer' => 'required',
'plz' => 'required',
'ort' => 'required',
'group_id' => 'required',
];
}
我的问题是:判断新创建的对象的group_id的最佳方式是什么.我试图将值合并到请求中,但我自己的StoreObjektRequest正在等待所需的group_id.也许我可以使用我的保单,它目前正在返回True.