If I use external authentication with a Mac OS X Server, will users login to FileMaker with their short name or their long name, or both?
If I use Get ( AccountName ), will it return the short name, long name, or does it depend on which one they used to login?
8 replies to this topic
#1 OFFLINE Quarfie
#2 OFFLINE Humble Servant
Posted 16 February 2012 - 04:31 PM
Use the short name; it works better. And it's what the OD controller returns to FileMaker Server. There are ways around this, but they just complicate matters. Get(AccountNAme) returns whatever the user entered as the Account name.
Steven
Steven
Steven H. Blackwell
Platinum Member Emeritus, FileMaker Business Alliance
Platinum Member, FileMaker Business Alliance (2007-2011)
Partner Member, FileMaker Solutions Alliance (1998-2007)
Partner Member, Claris Solutions Alliance (1997)
FileMaker Certified Developer 7|8|9|10|11
FileMaker Authorized Trainer 9|10|11
_ _ ____________________________ _ _
http://www.fmp-power.com
http://www.filemakersecurity.com
Platinum Member Emeritus, FileMaker Business Alliance
Platinum Member, FileMaker Business Alliance (2007-2011)
Partner Member, FileMaker Solutions Alliance (1998-2007)
Partner Member, Claris Solutions Alliance (1997)
FileMaker Certified Developer 7|8|9|10|11
FileMaker Authorized Trainer 9|10|11
_ _ ____________________________ _ _
http://www.fmp-power.com
http://www.filemakersecurity.com
#3 OFFLINE Quarfie
Posted 20 February 2012 - 01:09 PM
Thanks Steven,
but I'm confused by this part... The OD controller returns the short name, but Get(AccountName) returns whatever was entered? What good is knowing what the OD controller returns if it's not what's used by Get(AccountName)?
My issue is that I want to have a "Users" table that could contain individual user preferences and can also be used for value lists to select other database users. In an external authentication environment, this table would have to be driven by a check of Get(AccountName) on login, creating a new record if necessary.
My concern is that even if I set a policy of using the short name to access FileMaker, a user could still use their long name. As a result, my database would think they are two different users, resulting in the user appearing twice in value lists... is there a way around that problem?
but I'm confused by this part... The OD controller returns the short name, but Get(AccountName) returns whatever was entered? What good is knowing what the OD controller returns if it's not what's used by Get(AccountName)?
My issue is that I want to have a "Users" table that could contain individual user preferences and can also be used for value lists to select other database users. In an external authentication environment, this table would have to be driven by a check of Get(AccountName) on login, creating a new record if necessary.
My concern is that even if I set a policy of using the short name to access FileMaker, a user could still use their long name. As a result, my database would think they are two different users, resulting in the user appearing twice in value lists... is there a way around that problem?
Jason Wood
Crumpler Canada
Crumpler Canada
#4 OFFLINE Mostly Harmless
Posted 20 February 2012 - 06:05 PM
Quote
but I'm confused by this part... The OD controller returns the short name, but Get(AccountName) returns whatever was entered? What good is knowing what the OD controller returns if it's not what's used by Get(AccountName)
The OD controller returns the short name of the OD group which is the name of the externally authenticated account, not the user name that was typed into the FMP authentication dialog.
Get( AccountName ) will return whatever the user typed into the authentication dialog, however it was typed, because that's all FMS knows about.
Where it gets more interesting is when the user types their account name in UPN or UNC format: theDomain\theUserName or theUserName@theDomain respectively.
This means that it is possible for the Get( AccountName ) function to return the following strings for the same user, depending on what they authenticated with for the current session: (This assumes that the OD or AD accepts the UNC or UPN formats and is not case sensitive.)
VaughanBromfield
vaughanbromfield
VAUGHANBROMFIELD
workgroup\vaughanbromfield
vaughanbromfield@workgroup
This shows that the Get( AccountName ) function cannot be relied upon for generating keys that uniquely identify accounts, because users can legitimately authenticate with different strings.
Vaughan Bromfield
Sydney, Australia
Please post questions to the Forum, not directly to me. Back-up your files before making changes!
Whenever I hear the term "popular culture" I reach for my Iridium Q-36 Space Modulator.
Sydney, Australia
Please post questions to the Forum, not directly to me. Back-up your files before making changes!
Whenever I hear the term "popular culture" I reach for my Iridium Q-36 Space Modulator.
#5 OFFLINE Lifetime Student
Posted 20 February 2012 - 08:21 PM
Good information, Vaughan!
Each assumption is an educated guess, a likely condition or event, presumed known and true in the absence of absolute certainty.
#6 OFFLINE Mostly Harmless
Posted 21 February 2012 - 03:59 AM
Thanks LaRetta.
Since posting I've realised that the situation is not as bad as it seems. The "username" can easily be parsed out of both the UPN and the UNC strings (after the \ and before the @ characters respectively). Then make them all upper or lower case so they are consistent.
That's assuming the AD/OD is not case sensitive and only allows one account named "vaughan" in any combination of case. If it is case sensitive and allows one account named "VAUGHAN" and another "Vaughan" then all bets are off, and the situation really is complicated.
Since posting I've realised that the situation is not as bad as it seems. The "username" can easily be parsed out of both the UPN and the UNC strings (after the \ and before the @ characters respectively). Then make them all upper or lower case so they are consistent.
That's assuming the AD/OD is not case sensitive and only allows one account named "vaughan" in any combination of case. If it is case sensitive and allows one account named "VAUGHAN" and another "Vaughan" then all bets are off, and the situation really is complicated.
Vaughan Bromfield
Sydney, Australia
Please post questions to the Forum, not directly to me. Back-up your files before making changes!
Whenever I hear the term "popular culture" I reach for my Iridium Q-36 Space Modulator.
Sydney, Australia
Please post questions to the Forum, not directly to me. Back-up your files before making changes!
Whenever I hear the term "popular culture" I reach for my Iridium Q-36 Space Modulator.
#7 OFFLINE Humble Servant
Posted 21 February 2012 - 05:34 AM
These scenarios are covered in some detail in the External Server Authentication Tech Brief that Wim Decorte and I prepared for FileMaker, Inc. That paper can be found on their website.
The Group name returned by Open Directory must match the Group name in the FileMaker Pro file that provides the link to the designated Privilege Set. That's how the database know what the privileges are for any given external Account that is a member of the Group.
This business with the Account names gets especially interesting when using Record Level Access.
Steven
The Group name returned by Open Directory must match the Group name in the FileMaker Pro file that provides the link to the designated Privilege Set. That's how the database know what the privileges are for any given external Account that is a member of the Group.
This business with the Account names gets especially interesting when using Record Level Access.
Steven
Steven H. Blackwell
Platinum Member Emeritus, FileMaker Business Alliance
Platinum Member, FileMaker Business Alliance (2007-2011)
Partner Member, FileMaker Solutions Alliance (1998-2007)
Partner Member, Claris Solutions Alliance (1997)
FileMaker Certified Developer 7|8|9|10|11
FileMaker Authorized Trainer 9|10|11
_ _ ____________________________ _ _
http://www.fmp-power.com
http://www.filemakersecurity.com
Platinum Member Emeritus, FileMaker Business Alliance
Platinum Member, FileMaker Business Alliance (2007-2011)
Partner Member, FileMaker Solutions Alliance (1998-2007)
Partner Member, Claris Solutions Alliance (1997)
FileMaker Certified Developer 7|8|9|10|11
FileMaker Authorized Trainer 9|10|11
_ _ ____________________________ _ _
http://www.fmp-power.com
http://www.filemakersecurity.com
#8 OFFLINE Quarfie
Posted 22 February 2012 - 11:15 AM
I'm thinking the best way to deal with this would be to require an administrator to "register" each new user with the database, creating a user record with all of the possible names they could use to login. Then upon login, even if the user is authenticated, if Get(AccountName) fails to return a registered name that matches a user record, the database kicks them out immediately.
Jason Wood
Crumpler Canada
Crumpler Canada
#9 OFFLINE Humble Servant
Posted 23 February 2012 - 05:29 AM
jasonwood, on 22 February 2012 - 11:15 AM, said:
Then upon login, even if the user is authenticated, if Get(AccountName) fails to return a registered name that matches a user record, the database kicks them out immediately.
Such a system probably cannot meet any reasonable parameters of security testing. This process, especially if done by script, is manipulatable and fairly easily so.
Steven
Steven H. Blackwell
Platinum Member Emeritus, FileMaker Business Alliance
Platinum Member, FileMaker Business Alliance (2007-2011)
Partner Member, FileMaker Solutions Alliance (1998-2007)
Partner Member, Claris Solutions Alliance (1997)
FileMaker Certified Developer 7|8|9|10|11
FileMaker Authorized Trainer 9|10|11
_ _ ____________________________ _ _
http://www.fmp-power.com
http://www.filemakersecurity.com
Platinum Member Emeritus, FileMaker Business Alliance
Platinum Member, FileMaker Business Alliance (2007-2011)
Partner Member, FileMaker Solutions Alliance (1998-2007)
Partner Member, Claris Solutions Alliance (1997)
FileMaker Certified Developer 7|8|9|10|11
FileMaker Authorized Trainer 9|10|11
_ _ ____________________________ _ _
http://www.fmp-power.com
http://www.filemakersecurity.com
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users































