While User ID security is on, a user (who has no master records yet) can see the detail records of all other users.
Steps to reproduce:
- Create a project with a users table, a master table, and a details table
- Activate the USER ID security, assigning the “User ID Field” for the users and master table.
- Login as user X, create a master record and a detail record. Logout.
- Login as user Y. Don’t create a master record; go directly to the details page. You’ll see the details record of User X (and all other users).
I checked the SQL sent to the server and fount it as:
- SELECT * FROM
usersWHERE (user_id= 1) - SELECT
master_idFROMmasterWHEREuser_idIN (1) //0 records returned - SELECT COUNT(*) FROM
details//The problem starts here. Since 0 records returned in line 2, “WHEREmaster_idIN (#)” is not included in this query - SELECT
master_idFROMmasterWHEREuser_idIN (1) - SELECT * FROM
details//Again since 0 records returned in line 2, “WHEREmaster_idIN (#)” is not included in this query