This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (C) 1996 - 2006. Microsoft Corporation. All rights reserved.
This sample demonstrates the Authz API. To run this sample you must first
create three user accounts with names, ‘Joe’, ‘Martha’ and ‘Bob’. After
building the sample run the server (AuthzSvr.exe.) on a computer running
Windows XP or greater.
To test the server you must run the client from the context of ‘Bob’, ‘Martha’
or ‘Joe’. The easies way to do this is to create a command prompt running as
one of these user’s by using the ‘RunAs’ command as follows:
Runas /u:bob cmd.exe
After hitting ‘Enter’ you will be prompted for the corresponding password,
after entering the password, if user name and password are correct, a Command
Prompt window will appear running in the user’s context.
From the command prompt running in the user’s context launch the sample client
(client.exe.) with the following command line..
Client \\. Transfer 4000
This will connect to the server and attempt to initiate a ‘Transfer’ expense.
If this was launched from the context of Bob, Martha then this amount ($40.00)
should work.
The hard coded logic is that Bob is a VP, Martha is a Manager, and Joe is an
Employee. VPs can expense up to 100000000 cents, Managers can expense up to
100000 cents, and Employees can expense up to 10000 cents. The sample
resource manager (AuthzSvr) uses the Authz API (AuthzComputeGroupsCallback.)
to place a sid for each user’s group (VP, Manager or Employee) in their
context. Then in AuthzAccessCheckCallback the sample RM dynamically determines
whether or not the user’s group sid applies by checking if the employee is
expensing a valid amount (if so the group applies.)