4 posts in this topic
I am sure this is one of those simple ones… that has me bamboozled for nearly 2 days now.
I need to limit access of my users viewing only a limited set of "Company" records after they log in. The companies that they are allowed to see are listed in each respective user's profile.
My opening script goes to the user's profile and creates a global variable for each company that they are allowed to view.
When I go to the "Manage Security > Edit Privilege Sets > Records > Custom Privileges > Limited > Script", and use any of those variables (e.g. $$Company01"), the records table returns no records at all (i.e. as if there were no matches). When I test the script and use text for any one (or several) of those companies by name (e.g. "ACME PTY LTD"), the access rules work perfectly.
To be clear: The global variables themselves are correct. I know this this because they work in other scripts absolutely perfectly, so the variables DO match the names in the field.
The script looks like this:
$$Company = Table Manufacturer or
$$Company01 = Table Manufacturer or
$$Company02 = Table Manufacturer or
$$Company03 = Table Manufacturer or
$$Company04 = Table Manufacturer or
$$Company05 = Table Manufacturer
In every respect, the variable matches the actual text, but I can only imaging that there is a problem with my syntax?
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.
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.
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?
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?