Estimated Time To Read This: 6 – 10 minutes
| Among the hundreds of new features and functions in FileMaker Pro 7 is a brand new security model. At the heart of this new model is a new account and privilege management module consisting of Accounts, Passwords, Privilege Sets and Extended Privileges.
This Isn’t Your Father’s FileMaker |
||
| Fig 1. | ||
|
Account names are added to the mix to allow proper account management for role-based security implementations. If you choose, you can treat accounts as user names (one for each user) or as roles (one account services many users). This dual function comes from the option to set an account to authenticate either internally or externally. If an account is authenticated externally (requiring FileMaker Server 7), FileMaker Pro and server talk to the operating system to determine which security group(s) the current user belongs to. When Server finds a group name that matches an externally authenticated account name within the FileMaker Pro file, it logs the user in using that account. This also makes single-sign-on possible: a user can log in to their network using their username and password and open a FileMaker solution without entering another account name and password since those credentials have been passed by the operating system and FileMaker Server. When creating a new FileMaker file, two accounts are created by default: Admin and [Guest]. Admin has no password and the File Options are set to automatically log in as Admin so that the user has a similar experience to previous versions of FileMaker. The Guest account can’t be renamed as it controls permissions for users to log in as Guests as opposed to using a defined account.
How does FileMaker Pro know what rights you have within the file? That’s done using Privilege Sets. Each account is assigned to a privilege set. Privilege Sets |
||
| Fig 2. | ||
|
As you can see from Figure 2, additional Extended Privileges can be assigned to a privilege set. These extended privileges are simple names of functions the developer assigns. Scripts can then be written that test to see if the current account uses a privilege set that includes a certain extended privilege. For instance, a developer might create an extended privilege called ‘playSound’ that is assigned to two accounts. The script that runs on startup tests to see if the current account was assigned this extended privilege using PatternCount ( Get ( ExtendedPrivileges ) ; “playSound” ) within an If step. It’s a simple way of adding additional functionality without having to tie the function to a layout or field (both of which were workarounds for this type of challenge in previous versions of FileMaker Pro). FileMaker provides four Extended Privileges by default: [fmiwp], [fmxdbc], [fmapp] and [fmmobile]. As you can see from the descriptions in Figure 2, these control communications with other technologies. The most common one to use would be [fmapp] which controls whether an account can access this file over a network using peer-to-peer sharing or FileMaker Server. Even if a file is set for sharing over a network, if none of the Privilege Sets have the fmapp privilege turned on, no one will be able to access it. Other Cool Security Features When defining a Privilege Set, you can allow a user of that account to create new layouts, scripts or value lists without giving them access to existing ones. In addition, you can set rules for new layouts, scripts and value lists to be modifiable or restricted. This could be useful for those sites or clients who have an on-site programmer who can make small changes or add a new report to your solution without giving them the developer password. Conversion Issues Since all passwords must now have an account to go with it, converted files get an account name the same as its password. You probably will want to change these account names! When you first open a converted file that has passwords, you may choose to only enter the password since the account name is not needed if the account name and its password are identical. |







