On 26 Feb 09, at 15:04, Gerd Knops wrote:
On Feb 26, 2009, at 4:29 PM, Andrew Farmer wrote:
On 26 Feb 09, at 14:05, Karl Moskowski wrote:
I'm looking for a way to disable some features in my application if it's being run by the Leopard Guest account.

I tried using CSIdentityQueryCreateForCurrentUser() as outlined in the Identity Services Programming Guide to determine the current account running the app, and when run by an admin account, it returns the expected identity.

However, when run by Guest, the returned array of entries contains no objects. Would that be sufficient to reliably establish that the Guest account is current?

Comparing NSUserName() against @"guest" seems rather more straightforward, as well as less likely to break if Apple changes the way guest accounts are implemented.

But will that work in non-english speaking locales?

It should. NSUserName returns the UNIX account name, not the display name.

Alternatively, you could check the current UID.

On 26 Feb 09, at 15:07, Karl Moskowski wrote:
Also, it's possible to change the short-name of the Guest account, along with its User ID, Group ID, etc. in the Accounts PrefsPane. That's why I started looking at Identity Services.

It's probably safe to assume that users will leave these values alone, especially for the guest account. The big red warning is a pretty good deterrent.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to