I was looking through the APR and noticed that no function exists to get the
groups (gid or char*) that a user belongs to.
I started investigating how to implement such a thing on Unix/Linux and it
doesn't seem hard; getgrouplist will return a gid list given a user.
On Windows things are bit more tricky because the computer can either be a
member of a domain, or on its own. I think the following basic flow will work,
but I'd like a second opinion:
- Call GetNetworkParams to see if there is a domain name
- If no domain name, then call NetUserGetLocalGroups
- If there is a domain name, then call NetUserGetGroups
Does that seem right?
The other issue is that on Windows I get back a char* for the groups; whereas,
on Unix/Linux I get back a gid list. Is there a preference? Would people rather
a function that returns a gid list or a char* list?
Thanks...
Bill-