Jump to content




Short name or long name?



  • Please log in to reply
8 replies to this topic

#1 OFFLINE   jasonwood  Quarfie

jasonwood
  • Members
  • 811 posts
  • LocationToronto, Canada
  • FM Client:11 Advance
  • Platform:Mac OS X Snow Leopard
  • Time Online: 1d 1h 38m 34s

Posted 16 February 2012 - 10:59 AM

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?
Jason Wood
Crumpler Canada

#2 OFFLINE   Steven H. Blackwell  Humble Servant

Steven H. Blackwell
  • Moderators
  • 4,388 posts
  • FM Client:12 Advance
  • Platform:Cross Platform
  • Skill Level:Authorized Trainer
  • Certification:7, 8, 9, 10, 11
  • Membership:FileMaker Business Alliance, FIleMaker Platinum Member
  • Time Online: 3d 17h 15m 45s

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 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

#3 OFFLINE   jasonwood  Quarfie

jasonwood
  • Members
  • 811 posts
  • LocationToronto, Canada
  • FM Client:11 Advance
  • Platform:Mac OS X Snow Leopard
  • Time Online: 1d 1h 38m 34s

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?
Jason Wood
Crumpler Canada

#4 OFFLINE   Vaughan  Mostly Harmless

Vaughan
  • Moderators
  • 9,995 posts
  • LocationSydney, Australia
  • FM Client:11 Advance
  • Platform:Cross Platform
  • Skill Level:Expert
  • Certification:8, 9, 10
  • Membership:TechNet
  • Time Online: 2d 22h 44m 8s

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.

#5 OFFLINE   LaRetta   Lifetime Student

LaRetta
  • Members
  • 8,061 posts
  • LocationOregon
  • Time Online: 57d 23h 32m 6s

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   Vaughan  Mostly Harmless

Vaughan
  • Moderators
  • 9,995 posts
  • LocationSydney, Australia
  • FM Client:11 Advance
  • Platform:Cross Platform
  • Skill Level:Expert
  • Certification:8, 9, 10
  • Membership:TechNet
  • Time Online: 2d 22h 44m 8s

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. :D
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.

#7 OFFLINE   Steven H. Blackwell  Humble Servant

Steven H. Blackwell
  • Moderators
  • 4,388 posts
  • FM Client:12 Advance
  • Platform:Cross Platform
  • Skill Level:Authorized Trainer
  • Certification:7, 8, 9, 10, 11
  • Membership:FileMaker Business Alliance, FIleMaker Platinum Member
  • Time Online: 3d 17h 15m 45s

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
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

#8 OFFLINE   jasonwood  Quarfie

jasonwood
  • Members
  • 811 posts
  • LocationToronto, Canada
  • FM Client:11 Advance
  • Platform:Mac OS X Snow Leopard
  • Time Online: 1d 1h 38m 34s

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

#9 OFFLINE   Steven H. Blackwell  Humble Servant

Steven H. Blackwell
  • Moderators
  • 4,388 posts
  • FM Client:12 Advance
  • Platform:Cross Platform
  • Skill Level:Authorized Trainer
  • Certification:7, 8, 9, 10, 11
  • Membership:FileMaker Business Alliance, FIleMaker Platinum Member
  • Time Online: 3d 17h 15m 45s

Posted 23 February 2012 - 05:29 AM

View Postjasonwood, 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


Back to External Server Authentication


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

FMForum Advertisers