加固房间准入与消息广播边界
This commit is contained in:
@@ -71,6 +71,8 @@ class ChatController extends Controller
|
||||
$room = Room::findOrFail($id);
|
||||
$user = Auth::user();
|
||||
|
||||
$this->ensureUserCanEnterRoom($room, $user);
|
||||
|
||||
// 房间人气 +1(每次访问递增,复刻原版人气计数)
|
||||
$room->increment('visit_num');
|
||||
|
||||
@@ -290,6 +292,18 @@ class ChatController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验当前用户是否允许进入指定房间。
|
||||
*/
|
||||
private function ensureUserCanEnterRoom(Room $room, User $user): void
|
||||
{
|
||||
if ($room->canUserEnter($user)) {
|
||||
return;
|
||||
}
|
||||
|
||||
abort(403, $room->entryDeniedMessage($user));
|
||||
}
|
||||
|
||||
/**
|
||||
* 当用户进入房间时,向该房间内在线的所有好友推送慧慧话通知。
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user