AndrewH wrote
There are a couple of important things to reiterate here (because we missed them and others might)
1. If you set AD provider to Enabled and Hide Login Controls to Enabled YOU WILL NOT GET AUTO-LOGIN. Setting the flags in this way causes the value stored in the database for Enabled to be set to False and the httpModule uses that value to determine whether to perform auto-login. An update to the httpModule to do auto-login if EITHER of these flags is set would solve this, but I'm unsure of other ramifications. I'll leave that to Mike to consider!
I'm sure I checked this and wasn't able to duplicate it. I was getting logged in whether the controls were hidden or not but I will take another look at it. Please post it as a bug in the Public section of Gemini (
http://support.dotnetnuke.com) so that I have a reminder.
2. Your login status is cached in a cookie. It can look as though authentication is not working when in fact it is. You must either clear cookies or (presumably) wait for a session to expire between logging out and logging back in for auto-login to work. Very confusing for testing; perhaps less of an issue in real life (although any user who logs out and closes the browser and then immediately tries to revisit the site for another piece of info will not be logged in!)
True, and there's not much that can be done about it (IE: I can't kill the cookie or you'd be logged right back in).
3. Identity Impersonate and all the other good stuff is not required in web.config. All the necessary config changes are made by the installation of the provider, so no need to mess with it at all if you want mixed mode login capability.
That's incorrect and is different for every installation. At work I
have to use impersonation while at home I don't. It all depends on how your network is setup.
4. You must set file security on DesktopModules/AuthenticationServices/ActiveDirectory/WindowsSignIn.aspx to Windows Authentication ONLY in IIS (i.e. you must also disable Anonymous access). What would be ideal is if there was a way to do that bit in web.config too, because then you could copy the site from server to server and have it just work with no special IIS configs, but I've not seen any way of doing that anywhere. Anybody know how to do that?
Agreed but at this time we have to deal with what we've got. Perhaps it's possible to make these changes in IIS7 but I haven't looked into it.