Dwayne Wright, Jan 15, 2010
FileMaker Version: 10.0v3 (Released July 2009)
Menu
- Introduction to FileMaker Multi-File Security
- Reader Inquiry: Mixed Access Levels Across Files
- Understanding FileMaker’s Relationship Graph
- Creating Files and Setting Up Access Levels
- Exploring Access Privileges in FileMaker
- Examining the Relationship Graph Between Files
- How Different Access Levels Impact the Relationship Graph
- Using Re-login Scripts for Access Testing
- Insights and Observations on Security Settings
- Conclusion: Key Takeaways for FileMaker Developers
Introduction to FileMaker Multi-File Security
Introduction to FileMaker Multi-File Security
In multi-file FileMaker solutions, managing security becomes a complex but essential task. When files are connected, particularly in systems using separation models, access control must be meticulously handled to ensure that users only have access to the data and functionalities they’re authorized to see. This post covers the fundamentals of managing security between two connected files in FileMaker, looking at how relationship graphs and mixed-access levels influence what users can see and do.
Reader Inquiry: Mixed Access Levels Across Files
A reader question prompted this discussion. They wanted to know how the relationship graph appears when a user has full access to one file but limited access to another within the same solution. Specifically, the question addresses what users can view and modify in a relationship graph when there are different access levels across connected files.
Understanding FileMaker’s Relationship Graph
The relationship graph is a vital component of FileMaker solutions, as it allows developers to establish and visualize connections between tables across multiple files. In multi-file setups, one file might serve as the user interface while another stores data. This separation model often leads to different levels of access between files, which can impact how the relationship graph is utilized and what it reveals to users with varying permissions.
Creating Files and Setting Up Access Levels
In this example, two files—File A and File B—were created to illustrate how mixed access levels affect the relationship graph. Here’s the setup:
- File A has a full access account and an external reference to File B.
- File B is linked back to File A but includes only limited access for certain users.
In both files, user accounts were created with the same name but different access levels. This setup allows us to explore how having full access in one file but limited access in another affects what a user can view and modify.
Exploring Access Privileges in FileMaker
Each file in this example has two user accounts:
- An Admin account with full access to everything in both files.
- A Dwayne Wright account, which has full access in File A but read-only access in File B.
With this configuration, we can see how access privileges influence what users can do when working between the two files. For example, even though the same username exists in both files, the access level settings in each file govern what a user can see and modify within that specific file.
Examining the Relationship Graph Between Files
By opening File A, we can see File B’s tables appear on the relationship graph as table occurrences. This is possible due to the external reference from File A to File B. Here’s what was observed:
- The user with full access to File A can view the fields and relationships involving File B.
- Even though they don’t have full access to File B, the fields and relationships are still visible in the graph due to the full access in File A.
This illustrates that a user with full access in File A can still interact with File B’s elements in the relationship graph, even if their access to File B itself is limited.
How Different Access Levels Impact the Relationship Graph
A key insight from this example is that the relationship graph provides visibility into File B’s structure, even though File B has stricter access controls for the user. Users can:
- View the fields and relationships from File B within the graph in File A.
- Adjust relationship settings, such as allowing the creation or deletion of records in related tables, based on their privileges in File A.
However, while users can modify these settings in the graph, they cannot execute actions that exceed their actual permissions in File B. For instance, if the user cannot delete records in File B, they won’t be able to do so from File A, even if the relationship settings permit it.
Using Re-login Scripts for Access Testing
To verify access levels, a re-login script was used, allowing the user to re-authenticate with different credentials within the same session. This helped clarify:
- Which actions are allowed in each file based on the access levels.
- What is visible in the relationship graph from the perspective of each user account.
The re-login process reinforces how security settings work dynamically, allowing developers to test different scenarios and validate access levels.
Insights and Observations on Security Settings
This exercise highlights a few important insights for FileMaker developers:
- External References Impact Visibility: If users have full access to a file with an external reference, they can see related tables from the connected file in the relationship graph, even if they have limited access to the connected file.
- Security Overrides Relationship Settings: While users can set up relationships in the graph, their actions will still be restricted by the security settings of the target file. For example, creating or deleting records might be visible in the relationship settings but won’t be permitted if the user’s privileges in File B don’t allow it.
- Testing with Re-login is Essential: Switching between user accounts within the same session provides a clear view of how each account’s permissions affect what users can see and do.
Conclusion: Key Takeaways for FileMaker Developers
In multi-file solutions, security management requires careful attention, especially when setting up relationship graphs. Understanding how access levels affect what users see and do across files ensures that sensitive information remains protected and workflows are controlled.
Developers should:
- Test access scenarios to understand the implications of mixed-access levels in connected files.
- Use re-login scripts to simulate different user roles and permissions.
- Recognize the importance of external references in multi-file solutions, as they may inadvertently expose more information than intended.
By following these steps, developers can create secure, efficient FileMaker solutions that accommodate varying access levels while safeguarding sensitive data.