4 posts in this topic
Record Access Privileges not working right
By Brad Mathews
I must be doing something wrong here - I can't get record access privileges working right.
I am trying to limit viewing of the Teachers table to the currently logged in teacher.
I have a Teacher Privilege Set and all teachers are assigned this set. I have Custom Privileges set for Records. On the Teachers table I have Limited set on the View privilege. My calculation is 'Login = Get(AccountName)' where Login in a field that holds the login name. No records are accessible, all fields just say <No Access>. Using Data Viewer I have double checked to make sure that the Get(AccountName) value is the same as the value in the Login field.
I have even done this calculation: Login = "Brad Mathews" which I KNOW is a valid field value. Still nothing but <No Access>.
I have attached a screenshot showing all of my settings.
WebDirect login accounts
I've been researching how people handle logins for WebDirect and my head is swimming with contradictory information.
On my existing website I have 1,775 users. Their account information is stored in a mySQL database. The account information is little more than username, password, company name, and real name.
For the new WebDirect site, I was originally planning to autologin to the file using an account that only had access to the login screen. Then, use custom dialogue to allow the username and password to be entered. I'd use the username as a relationship between the global and the users table, check that the password matches, then do a relogin to a generic user account that has normal view/edit privileges.
But then I read that you're not supposed to "bypass" FileMaker security. I'm not sure if that counts as bypassing.
Then I figured I'd use a script to step through the existing users table and create accounts in the database for all 1,775 users. But then I read that some people had problems with files that had more than 1,000 user accounts.
So, now I don't know what to do. We're not storing credit card information so it doesn't have to be Ft Knox secure but I don't know what direction to go in. I feel like my first option is good enough but wanted to see what some of you thought.
We do have a SSL certificate for the web server.
AD account identification
My FM database is using AD to determine whether a user has access to the db or not. Once logged in, I've used a set of tables & relationships to identify whether the user sees particular layouts, records within tables etc. This has been fine for the small number of teaching staff that have been accessing it to date.
However, I'm now looking at expanding the db so that students are able to access it too. However, I really don't want to maintain a table with student accountnames (1500 students) in order to identify them as a student instead of a member of staff (default home page is different)
Is there a simple way of doing this once they've logged in. Can FM pull AD credential such as the AD group name they belong to that will allow me to check if they are a student etc.
Or is there something I'm missing and a way easier way of doing this?
Multiple organisations contributing to same database - how to segregate data?
I've currently developed a database using the data separation model whereby I have an interface file, and a database file. The interface file is held locally on each computer using the database, and the database file is held on a server.
There are going to be 3 - 5 different organisations all contributing data to the main database, but ordinary users should only have access to the data created by their organisation. Some "super-users" will have access to the combined data from all organisations. I currently have lots of reports which cycle through the database, analysing specific parts of the data and returning found sets. What is the best way to segregate out my data on an organisation by organisation level?
Im trying to avoid having separate database files so that I don't have to make the changes to each file every time the database is updated?
I thought about setting up access privileges, and storing the organisation name in every record of the database, then limiting the view, edit, delete privileges based on this field. However, upon reading through the various FMforums it looks like this would give me multiple records showing <No Access>.
Im basically trying to achieve:-
User 1 from Organisation A logs on - database behaves as if specific to Organisation A
Same for User 2 from Organisation B
Super User logs on and can run reports on data from Organisation A & B combined
Can anyone suggest an elegant solution?
Granular Approach To Specific Script Access
I'm trying to take a different approach to Roles and Script Access in a solution that a bit more flexible to change and create roles via the UI, not FMs native security. While "Hide Object When" is very useful, it's not always practical especially when there are multiple roles and it's not easily maintained across a system.
Conceptually what I'm thinking is:
Every button is attached to a script the script attached to the button is used for navigation, to perform a task, or combination of both these script are ONLY attached to a button and never called from within another script. They can simply be wrappers if needed the current script being executed is known using get(ScriptName) These button script names are human readable and prefixed with same identifier .e.g "Button." In Every button script, we run another script which takes a parameter of the current script being executed. This script will query/check if the current user and/or role has permission to run this script. Result: We return a friendly message box saying "no access to this feature" and HALT OR we continue and run the script Create the Role records Somehow we dynamically create a list of scripts with the "Button." prefix <- this this possible? A plugin even? Can you dynamically query the scripts in a FM file?(this is a hard thing to google) Add each script to the role via permission table. Functionality could be enhanced by using multiple prefixes for the scripts as groups, so you could add an entire group of scripts to a role based on the prefix...Lots of ideas based on this.
Has this been done before? Can we query a FM database for it's scripts without using database design report?