awayand Posted April 21, 2003 Posted April 21, 2003 Here's another one: I'd like to implement a security feature: I have records, all of which have a field called "Creator", that is automatically filled in when a new record is created. Now I don't want people to see each other's records. So when a user logs in, I'd like to use the Status(CurrentUser) calculation somehow to create an Open-Document-Script that will automatically do a find on the field "Creator" to match the current user, so that only a subset of all the records is displayed, which only belongs to the creator. How would I be able to make that possible? The "Find" script step only seems to offer "hard-coded" finds, not conditional ones (i.e. based on user input, calculation, etc.) Thanks for your help guys! (and girls, of course)
Lee Smith Posted April 21, 2003 Posted April 21, 2003 Create Global Fields and reference them in the script instead of the hard coded one. In other words, Enter Find Mode Set Field (Field1, Global Field1) perform find HTH Lee
CobaltSky Posted April 22, 2003 Posted April 22, 2003 Hi Awayand, What you are looking for is: Enter Find Mode [ ] Set Field ["Creator", "Status(CurrentUserName)"] Perform Find [Replace Found Set] That will give you a find based on calculation, which will locate all records created on the currrent workstation.
cjaeger Posted April 22, 2003 Posted April 22, 2003 Nobody here seems to like the record-based access feature introduced in Filemaker 5.5. You can use it to further restrict access to records for additional security. take Lee's Global g_Creator, set it with CobaltSky's Skript step Set Field [g_Creator; Status(CurrentUserName)} and validate with a calulation (in Define Passwords) Exact(g_Creator;Creator) another hint: Instead of Status(CurrentUserName) use a proprietary login system based on a name/password list. The UserName in FileMaker can be too easily changed or duplicated.
CobaltSky Posted April 22, 2003 Posted April 22, 2003 Actually, you don't need a g_creator to set record level access, if that's what you want to do. All you need is a browse access formula in password privileges specified as: Creator = Status(CurrentUserName) No global fields required. That aside, there are probably at least two reasons why record level access was not mentioned on this thread. One is that it is only indirectly related to the question that was asked. The other reason, however, is a more general one. The use of record level access limits the purview of the resuilting .fp5 files to use with FMPv5.5 and above - whereas there are many contexts within which users expect to be able to open and access .fp5 files with FMPv5 also. Whereas some v5.5 features simply limit or disable marginal or ancillary functions when a file is accessed with an earlier version, record level access is a show stopper, and therefore must be used with caution and 'context awareness', lest half the user base in an organisation be 'orphaned'.
Recommended Posts
This topic is 7885 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now