retrieve group user membership when offline

S

slimard

Hello,

I am building an single sign on application that will give access
based on group membership. The application can ran offline or online.
When it is online, I can retrieve the group membership. Will this
work
when the user will be offline. The machines are XP


Thank you
S
 
H

Herb Martin

Hello,

I am building an single sign on application that will give access
based on group membership. The application can ran offline or online.
When it is online, I can retrieve the group membership. Will this
work
when the user will be offline. The machines are XP

Why not create an object, secure it with group permissions,
and require the user to open that object? (Program objects
exist, you don't have to use a file or registry setting.)

This way you can let the OS worry about caching the users
credentials, group membership etc.
 
S

slimard

Thanks for the reply but I do not understand what you meant. Do you
have a practical example?
 
H

Herb Martin

Thanks for the reply but I do not understand what you meant. Do you
have a practical example?

You can use a registry entry (for persistence), a file (also persistent),
a Kernel object, etc.

You create an "Object" -- objects have a ACLs (Access Control Lists)
which are you likely familiar with from Files and Shares. But any true
Windows System Object has this also. You give the object (which you
created and therefore own and can change) an ACL that only allows
members of a certain group to access it -- say open it for read (or some
other permission since the key is just to grant/deny access.)

Now when you wish to check the user for membership in that Group (or
Groups) you just attempt to open the object with the required permission
while acting as the user -- success means the user is authorized, failure
means they are not.

You can even use different permissions (for different groups) to grant
different levels of permission.

It is much simpler (in the long run) and MUCH MUCH more accurate
to let the OS calculate the Effective permissions.
 
S

slimard

You can use a registry entry (for persistence), a file (also persistent),
a Kernel object, etc.

You create an "Object" -- objects have a ACLs (Access Control Lists)
which are you likely familiar with from Files and Shares.  But any true
Windows System Object has this also.  You give the object (which you
created and therefore own and can change) an ACL that only allows
members of a certain group to access it -- say open it for read (or some
other permission since the key is just to grant/deny access.)

Now when you wish to check the user for membership in that Group (or
Groups) you just attempt to open the object with the required permission
while acting as the user -- success means the user is authorized, failure
means they are not.

You can even use different permissions (for different groups) to grant
different levels of permission.

It is much simpler (in the long run) and MUCH MUCH more accurate
to let the OS calculate the Effective permissions.





- Show quoted text -

Thank you for the explanation. Will this work also when the user is
offline (not connected to the network)? Is that information cached in
the user profile?
 
H

Herb Martin

You can use a registry entry (for persistence), a file (also persistent),
a Kernel object, etc.

You create an "Object" -- objects have a ACLs (Access Control Lists)
which are you likely familiar with from Files and Shares. But any true
Windows System Object has this also. You give the object (which you
created and therefore own and can change) an ACL that only allows
members of a certain group to access it -- say open it for read (or some
other permission since the key is just to grant/deny access.)

Now when you wish to check the user for membership in that Group (or
Groups) you just attempt to open the object with the required permission
while acting as the user -- success means the user is authorized, failure
means they are not.

You can even use different permissions (for different groups) to grant
different levels of permission.

It is much simpler (in the long run) and MUCH MUCH more accurate
to let the OS calculate the Effective permissions.





- Show quoted text -
Thank you for the explanation. Will this work also when the user is
offline (not connected to the network)? Is that information cached in
the user profile?

Yes, but it isn't cached in the PROFILE but rather when the user logs
onto the computer with "Cached Credentials" -- these credentials only
work locally but they are the Domain name and password, resulting in
the Security Access Token from the Domain.

The Security Access Token includes (fixed*) group membership and
rights assigned to the User account.

*Fixed, meanings those stored in the AD, as opposed to dynamic
group memberships such as Everyone, Network, Authenticated Users,
etc.
 
S

slimard

Yes, but it isn't cached in the PROFILE but rather when the user logs
onto the computer with "Cached Credentials" -- these credentials only
work locally but they are the Domain name and password, resulting in
the Security Access Token from the Domain.

The Security Access Token includes (fixed*) group membership and
rights assigned to the User account.

*Fixed, meanings those stored in the AD, as opposed to dynamic
group memberships such as Everyone, Network, Authenticated Users,
etc.- Hide quoted text -

- Show quoted text -

Thank you. It is now clear
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top