7 Replies Latest reply on Dec 12, 2016 10:36 AM by philmodjunk

    re-login after idle

    MartinBridges

      Afternoon

       

      A client wants each user to have to re-login, if their machine has been idle for x minutes. Like webDirect does.

       

      I tried 3 ways...

       

      [1] Under File>Manage>Security I've found an extended privilege called 'Require re-authentication after the specified minutes in sleep/background' which I've ticked for the relevant privilege sets but it doesn't do what I want. Or should I say it does but after the 'machine' has gone to 'sleep' rather than the 'database' being idle.

       

      Is there a way of making this based on database idle rather than machine idle?

       

      [2] The other way I tried it is via a script on a timer that comes up every x minutes with the re-login script step. Works a treat. However it's rather annoying when you're working all day on the database having to login every x minutes!!

       

      Is there a simple way of picking up 'last use'?

       

      [3] In server>Database Server>tab:FileMaker Clients. I've also found 'Set maximum idle time allowed for FileMaker clients' (minutes)'. Which I think is what I want. However this is a blanket 'x' minutes for EVERY database on my server. I then have to go into each privilege set of each database and deselect 'disconnect user from server when idle'.

       

      I read that [Full Access] is never disconnected. It would be nice to be able to vary the length of time each privilege set had before being disconnected. Is this possible?

       

      [4] Your suggestions/comments would be appreciated.

       

      regards

      Martin

        • 1. Re: re-login after idle
          philmodjunk

          This is another case of asking for a feature that doesn't exist. As a result, you end up evaluating various work arounds.

           

          [2] The other way I tried it is via a script on a timer that comes up every x minutes with the re-login script step. Works a treat. However it's rather annoying when you're working all day on the database having to login every x minutes!!

          This method could be made nicer if you set a number of script triggers on the layout that are tripped by normal user activity. Things like OnCommitRecord, OnRecordLoad, OnObjectExit.... Have a sub script or script performed by either these triggers or by the script that these triggers perform that resets the timer by doing another Install OnTimer Script step. This will then simulate the "on Idle" behavior as the message won't pop up unless the user has been idle on that layout.

          1 of 1 people found this helpful
          • 2. Re: re-login after idle
            MartinBridges

            Nice Idea to delay triggering the on timer script. I'll probably do it

            on layout load.

             

            Thanks Martin

             

            ---

            Martin Bridges - member of the FileMaker Business Alliance

             

            dataBASED.biz Ltd

            Developers of custom database solutions, iOS apps, computerised office

            systems and automated procedures

             

            Oakridge Cottage, Oakridge Lane, Winscombe, BS25 1LZ

            07940 514351, 01934 782651

             

            Martin@dataBASED.biz

            www.dataBASED.biz

             

            Regd No: 9219061 Regd: Companies House, Cardiff Regd Address: 7 Cliff St

            Cheddar, BS27 3PT

            VAT No: 177 1687 70

            • 3. Re: re-login after idle
              Mike_Mitchell

              One simple way to do this is at the OS level. Just require the screen saver to engage with a required password after X minutes.

               

              But that may not be what the client is looking for.

               

              (P. S. I would avoid monkeying with the idle feature at the server level. It can cause users to lose uncommitted edits.)

              1 of 1 people found this helpful
              • 4. Re: re-login after idle
                MartinBridges

                Thanks Mike

                 

                Nice thought Mike. But you might be right. Probably the client want's the database timed out not the computer. They could well be surfing the web etc.

                 

                I too am concerned with things at server level as it does it for all databases and all users.

                 

                Martin

                • 5. Re: re-login after idle
                  philmodjunk

                  I'll probably do it on layout load.

                  That's not a trigger I would use. Seems like a user could pull up a record set on a layout and spend quite a bit of time on that layout actively editing it--and thus might have the system unnecessarily popping up dialogs to see if there's anyone "there". I'd use other triggers that indicate that a user is actively interacting with the layout, but you know your users and interface design best.

                  • 6. Re: re-login after idle
                    MartinBridges

                    Thanks Phil. I hadn't thought that far yet. I just thought I could attach it to an existing script that loads on layout.

                     

                    Could I do something with last key stroke? I can't imagine users just looking without ever using a key stroke.  Perhaps it could reset a global timestamp field on keystroke /= §  ie any last keystroke and then run a on timer script every minute that if timestamp_g < get(CurrentTimestamp) then run re-login.

                     

                    Martin

                    • 7. Re: re-login after idle
                      philmodjunk

                      You could use OnLayoutKeystroke, but I'd test that one carefully. I think it will work just fine, but make sure it doesn't produce a "lag" during rapid keyboard entry.

                       

                      And you aren't limited to any one trigger, you can use several if you want.

                       

                      Also, you can cancel a "timer" altogether if you use Install OnTimer Script with no parameter specified. That can be useful if the user leaves this layout for an area where you don't want to do this kind of "test for idle" stuff.