So you have built a custom password system that works great but you find that users can still get into User Mode and, possibly, Design Mode (in an interpreted database) using the Tracing shortcut (ALT+SHIFT+Right click on Windows, COMMAND+OPTION+Right click on MacOS). What can you do about this?
Even though you do not use the 4D Users and Groups are you still using the 4D password system implicitly. For example, the owner of all processes you create is Designer.
What you need to do is define a "default user" that does not have Structure nor User Mode access. In other words you need to use the 4D password system to control this part.
Here is how to do it:
- Assign a Designer password (this is, unfortunately, not optional).
- Optional: You might want to also assign an Administrator password as well.
- Create a group for admin-type accounts, like Designer. E.g. "Admins".
- Make sure Designer and Administrator are members of the "Admins" group.
- Create a group for the "default user". E.g. "JoeUserGroup".
- Create a user for the "default user". No password is needed. E.g. "JoeUser".
- Make sure "JoeUser" is a member of the "JoeUserGroup" group.
- Open Preferences.
- Under Application | Access set Structure and User Mode Access to "Admins".
- Set Default User to "JoeUser".
- Optional: Uncheck "Display User List in Password Dialog Box". More secure.
- Optional: Uncheck "Users can change their password". More secure.
When you launch the database "JoeUser" will be automatically "logged in" and will not have User Mode nor Structure access. Also, the keyboard shortcut mentioned is completely non-functional in this case.
You may also need to pay attention to Table and Method access after this change but, by default, Tables and Methods are set to All Groups.
Now the question is how do you log in as Designer during development? Hold down the SHIFT key (left or right) while launching the database and the login dialog will be shown.