问题
I have a web service project that needs to be set to use Integrated Windows Authentication after installation. Normally, I would install the web service, then manually go to IIS and make sure the box is checked for Integrated Windows Authentication. There has to be a way to do this through code. I have looked up on using the Installer class. It looks like this is something I could use, but I have not found anything on setting properties programmatically in IIS.
回答1:
String applicationPath = String.Format("{0}/{1}", _server.Sites["Default Web Site"].Name, "AppName");
Configuration config = _server.GetApplicationHostConfiguration();
ConfigurationSection anonymousAuthenticationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", applicationPath);
anonymousAuthenticationSection["enabled"] = false;
ConfigurationSection windowsAuthenticationSection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", applicationPath);
windowsAuthenticationSection["enabled"] = true;
_server.CommitChanges();
回答2:
Take a look at WebDeploy. This technology is designed by MS to, umm, deploy web apps. ;-)
来源:https://stackoverflow.com/questions/2661425/how-do-i-programmatically-set-integrated-windows-authentication-in-iis-on-a-net