Hi,
Yes, you can restrict users to only see specific products in Odoo 15 by using a custom field and record rule:
Add a Many2many field (e.g. allowed_user_ids) on the product.template or product.product model to assign which users can access each product.
allowed_user_ids = fields.Many2many('res.users', string='Allowed Users')
Create a record rule with the following domain:
['|', ('allowed_user_ids', 'in', [user.id]), ('allowed_user_ids', '=', False)]
This ensures users only see products they are explicitly allowed to view, or products with no restriction.
(Optional) Assign the rule to a specific user group if you only want to apply it to certain users.
With this setup, users will only see products where they are listed in the "Allowed Users" field.
Also you can refer below custom odoo module ,
https://apps.odoo.com/apps/modules/18.0/ace_user_specific_product_allocation
Hope it helps