We want to set up different logins, for different user types, that go to different layouts according to their user account... and also limit access to other layouts.
This is my suggestion.
At the end of the Startup script (the script triggered OnFirstWindowOpen, see File > File Options >Script Trigger tab), I would write the following:
Go to Layout (select Layout Name by Calculation) and in the calculation write
Get ( AccountName ) = "User1"; "Layout Name 1"; // Write the User1 exactly as defined in File> Manage> Security> Accounts
Get ( AccountName ) = "User2"; "Layout Name 2"; //Write the exact Layout Name as defined in Layout Mode Menu Layouts > Layout Setup
For the second part of the question regarding limiting access to layouts, this can be done in different ways. The first one would be to define multiple Privilege Sets (see File> Manage> Security> Privilege Sets) Create a set and then define Custom Privileges for the Layouts (you'll see that you can set view only, modifiable, no access). The second method would be to restrict navigation to buttons with script associated, and use the same Get (AccounName) function or even better in Startup script set a global text field named gAccountName with Get (AccountName) and then in the script check if gAccountName = "xxx" then Go To Layout or Show Custom Dialog " You are not Authorized..."
You mentioned "user types" and "account names". A variation on ThierryGuemboura 's excellent suggestion would be to use the Privilege Set (i.e. Get( AccountPrivilegeSetName ) and use it as a departmental level (rather than person) method to get users where they need to go. Or you can mix them by placing them in the proper order in the Case statement Thierry described.
It is important (to my opinion) for you to think how you are going to do the navigation from one layout to another. In some solutions that I developed, I had to restrict users to go to particular layouts based on their privileges. I opted to have the Navigation buttons changing according to their privileges. Doing so, a user x doesn't see Navigation buttons he or she is not supposed to go to. You manage susceptibility and you don't have additional overhead in the Navigation scripts. All is done once at the beginning, subscript of Startup script. Check the excellent article written by eminent Mike Duncan logicurio How to Build a Dynamic FileMaker Navigation Bar - An Introduction
Retrieving data ...