You are validating a user's permissions based on some looked up record and producing a menu for that user.
The following seems to fit....
- IIS has the role of Identifying the user to the application based upon the authentication.
- IIS will either identify the user as a KNOWN user or an UNKNOWN user.
- If the IIS machine is in a domain, the KNOWN users will include both DOMAIN and LOCAL user accounts.
Technically, to your web app, there is no difference between a LOCAL and a DOMAIN user. (unless there are other details not mentioned). You could verify proper operation by defining a local user (or domain user) for each test case and testing each user. It might be easier to test against local users.
To Identify the user, forward your credentials in the url:
http://username:password@hostname/website
Please note that security updates have killed this functionality in IE as of 832894.
According to MS:
By default, versions of Windows Internet Explorer that were released starting with the release of security update 832894 do not support handling user names and passwords in HTTP and HTTP with Secure Sockets Layer (SSL) or HTTPS URLs. The following URL syntax is not supported in Internet Explorer or in Windows Explorer:
http(s)://username:password@server/resource.ext
If your are married to IE, you may have to initiate with RUNAS (as mentioned above) and set autoauthentication on.
If you are using FF or OPERA you are OK as long as you configure the IIS website directory security to allow 'Basic authentication'.