我有一个包含三个字段的数据库表“电影” id
:title
和user_id
。登录后用户可以使用自定义创建新电影title
。user_id
自动设置为当前登录的用户。
现在在另一个页面上(也在同一个登录之后),用户可以看到他们自己创建的所有电影作为一个列表。他们还可以使用可以开始输入的文本字段来过滤它们,并且列表将被更新。
为了使搜索尽可能快,我用meilisearch
. 但目前每个用户也可以看到其他用户的电影。是否可以确保每个用户只能看到他创建的电影?
我尝试meilisearch
使用自定义路由的 php 包解决它,我可以在其中检查用户访问权限,然后返回结果:
$results = $searchService->rawSearch(Channel::class, '', [
'facetFilters' => ['user_id:XXX'],
]);
// Return results to frontend as json
return $results;
但是由于性能损失,我想meilisearch
直接在前端使用,而不是通过后端。那么是否可以在前端进行相同的搜索,而其他用户可以通过轻松更改搜索查询中的用户 ID 来搜索其他用户的电影?是否可以保护搜索结果或者我应该使用其他搜索引擎?如果是,你能推荐另一个开源搜索引擎吗?