13 Replies Latest reply on Jun 29, 2017 9:11 AM by philmodjunk

    User Login Permissions Across Files (?)

    jb301

      Hello,

       

      I have a database that has multiple "Files" from what I understand. I come from a relational database background so my terminology may be incorrect. So let's say I have a landing page that links to many different layouts. I've added a user to that via "File -> Manage -> Security...". They can log in but as soon as they try to navigate they receive an error about having insufficient permissions. In the past I've always had to edit existing users, and had to take the time to edit every single file (which takes hours). Do I have to add them to every single on individually? How can I go about adding them to the other layouts/files without knowing their password? There must be a better way of doing this!

       

      Thanks!

        • 1. Re: User Login Permissions Across Files (?)
          philipHPG

          FileMaker is a relational database so no confusion there.

           

          Each database file (which refers to a separate file at the operating system level) does maintain its own list of security privileges. Historically it was necessary to use a lot of different files, however that isn't always necessary anymore (although there are still some good reasons to have multiple files.) As you've discovered, one of the complications of having multiple files is keeping usernames and passwords in sync, especially when FileMaker is authenticating. Depending on your solution, it might be possible to combine it all into one file and thereby eliminate that headache.

           

          Another option is to use external authentication which uses ActiveDirectory or OpenDirectory to authenticate rather than FileMaker. FM 16 adds some additional options.

           

          Alternatively, you could look at something like: http://www.modularfilemaker.org/module/accounts-modular-user-account-management/

          2 of 2 people found this helpful
          • 2. Re: User Login Permissions Across Files (?)
            jb301

            Thanks Phil, that's what I thought. Hmm that's a real pickle, this is an ancient database which I'm unfortunately unable to modify. So there is no way for me to say copy permissions from one file to another? I'm just not sure how I'm going to handle the password portion, because I had it prompt her for a new password. I guess I will have to set it to prompt her on every single page seeing as those are all files?

            • 3. Re: User Login Permissions Across Files (?)
              wimdecorte

              jb301 wrote:

              I guess I will have to set it to prompt her on every single page seeing as those are all files?

               

              Not necessarily.  In FM-speak a page is a layout.  A layout belongs to just one file.  One file can spawn multiple windows.

               

              You can use the data viewer and use Get(FileName) to see what file each window belongs to.

               

              If you have other users that can do all the things that this new user should be able to do then you would attach the privilege set used by those users to that new user account.

               

              Remember that the account = authentication (who are you).  It is the privilege set that you attach to the account that dictates authorization (what can you do?).

              1 of 1 people found this helpful
              • 4. Re: User Login Permissions Across Files (?)
                philipHPG

                There are script steps you can use to facilitate creation of accounts across files (such as what is used in the user account management module I linked to earlier), however I don't believe there is any mechanism to copy an existing account into another database file.

                 

                I don't know about your system, but your last line and some of your other comments really make me question how it was designed, or if perhaps there is a terminology confusion. How old a database is it? A single FileMaker database which is one file at the operating system level (MyDatabase.fmp12) can contain multiple tables and layouts ("what you are referring to as pages?"). There are legitimate reasons to split an application across multiple files, but your scenario seems quite extreme. I'm not sure why each page ("do you mean layout?") would need to be in a separate file.

                • 5. Re: User Login Permissions Across Files (?)
                  jb301

                  Unfortunately I think basically every conceptually datapoint has been made a separate file... oh boy.

                  • 6. Re: User Login Permissions Across Files (?)
                    jb301

                    A misinterpretation of terms is what I was hoping for... But I'm not sure. This database is set up for managing enrollment. For example, when I go manage database on the landing page, it's literally just one table with a relationship to the students table, and the interface itself has links to other layouts. The first layout is a view of general student information, which upon managing the database also seems to be one table. It pulls in program, degree, etc information, the "joins" of which I can see under Window -> show window. If I navigate to say the programs one, again, it seems to be one table in a file. So I think I'm basically stuck here because this was designed completely incorrectly. Unless I'm seriously misinterpreting the interfaces for managing tables. There also seem to be a lot of lookup tables, which again I have to add permissions to...

                    • 7. Re: User Login Permissions Across Files (?)
                      jb301

                      Is there any way for me to run Get(FileName) without setting up a script? I've never managed to find an interface where I can just run statements like I would in say MySQL.

                      • 8. Re: User Login Permissions Across Files (?)
                        philmodjunk

                        On the relationships graph, the table occurrences (the boxes) will show their names in italics if they reference data from a different file. You can open Manage | External Data Sources to get a list of all such references to data in other files.

                         

                        This isn't necessarily "designed completely incorrectly". As this can work quite well and you might even be using a legacy system that originated at a time when this was the only option. Please check out the link provided as you can automate the management of FileMaker Accounts and privileges so that you don't have to go from file to file and manually update them. External authentication can also mitigate this pain to some degree as a single account can be used to specify the privileges for an entire group of users if they are all members of the same AD group.

                         

                        The system that I am responsible on a day to day system has over a 100 files and over 300 users, so I feel your pain, but we do use AD to reduce the work load in managing this process.

                        1 of 1 people found this helpful
                        • 9. Re: User Login Permissions Across Files (?)
                          wimdecorte

                          jb301 wrote:

                           

                          Is there any way for me to run Get(FileName) without setting up a script? I've never managed to find an interface where I can just run statements like I would in say MySQL.

                           

                          Sure; I mentioned doing it in the data viewer.  Just open the data viewer and add Get(filename) to the watch tab.

                          1 of 1 people found this helpful
                          • 10. Re: User Login Permissions Across Files (?)
                            beverly

                            Or use the merge "symbols" in the layout:

                            {{FileName}}

                            If you need this information elsewhere, name the object and use

                            GetLayoutObjectAttribute()

                            But since you can 'caluclate-on-the-fly', just use the function instead!:

                            Get ( FileName )

                            Beverly

                            1 of 1 people found this helpful
                            • 11. Re: User Login Permissions Across Files (?)
                              jb301

                              Ah, it seems this is a Advanced feature, which I'm stuck without. I always wondered why I didn't have an interface for that sort of thing, but I suppose Advanced is what a developer should actually be using. Oh well.

                              • 12. Re: User Login Permissions Across Files (?)
                                jb301

                                Thanks again, it does look like this account manager would be the way to go. Unfortunately I don't have access to the machine the server is actually running on to take a back up, or to set up this module. I also don't have FileMaker advanced that the other users have mentioned. I think my wings are rather clipped in terms of setting things up. Plus I'm unfamiliar with a lot of the terms used in the integration instructions so I would probably mess something up!

                                • 13. Re: User Login Permissions Across Files (?)
                                  philmodjunk

                                  Unfortunately I don't have access to the machine the server is actually running on to take a back up, or to set up this module.

                                  You, or any consultant hired will need that access in order to improve on the current situation.

                                  I also don't have FileMaker advanced

                                  While FileMaker Advanced is something that I strongly recommend for ANYONE doing development work, it is not necessary to do what has been recommended here.