Re: Fast User Switching in Panther...
Re: Fast User Switching in Panther...
- Subject: Re: Fast User Switching in Panther...
- From: Alec Carlson <email@hidden>
- Date: Fri, 01 Aug 2003 14:32:17 -0500
I have a background app and a plug-in which runs as a subprocess of a
daemon. Both of these entities need to know who is making requests for their
services - the logged in user or the current (fast switched) user. This
information is used to authenticate the user locally and remotely, to access
the users preferences which are not kept in the ~user/Library/Preferences
folder because they need to be accessible when the user is not logged in,
and to store files in user specific folders whether the user is logged in or
not. As such, both processes need to know who is making the request so that
when the request completes sometime in the future, the processes know where
to put the results. Until Panther, you could only have one user logged in at
a time (ignoring the ssh case) and although you could have multiple
processes running as different users, those process couldn't interact with
our GUI so they couldn't make service requests. A second user wanting to use
their personal environment would have to logout the current user and then
login as themselves. This reset the logged in userid so all was well. So,
when a user makes a request for services, I need to know who they are (at
that point in time). If someone else comes along and makes another request I
don't care so long as I can tell the two users apart.
Alec
on 8/1/03 12:18 PM, Dave Camp at email@hidden wrote:
>
On Friday, August 1, 2003, at 09:33 AM, Alec Carlson wrote:
>
>
> Is there an API which allows an application to track who the current
>
> user is
>
> ? It doesn't seem like the logged in user is logged out when a user
>
> switch
>
> occurs. So, how can an app find out who the current user is when a user
>
> switch occurs ? SCDynamicStoreCopyConsoleUser( NULL, &uid, &gid )
>
> returns
>
> the logged in user not the current user.
>
>
Why do you need to know? What are you trying to accomplish?
>
>
I'm not sure there is a concept of a "current user". Processes
>
typically run as the user that launched them, or run as a special user
>
if need. For example, there are processes on your machine running as
>
you, root, www (if you have web sharing on), etc. If someone logged in
>
via ssh, they would have processes running as their user as well.
>
>
Dave
>
---
>
It is dark; you are likely to be eaten by a grue. -Zork
>
-----------------------------------------------------------------------
Time is Short, and the Water Rises
-----------------------------------------------------------------------
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.