0
votes

I can successfully create an Application Pool and an Application plus link them together.

What I am failing to do however is set the applications Windows Authentication to true and Anonymous Authentication to false.

I patched a hodge podge of examples into one to make this work but I keep getting the following error.

This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".

Now barring the obvious that overrideMode needs to likely equal Allow. How do I accomplish this?

  public static bool CreateApplication(String websiteName, String applicationName, String appDIR,String appPoolName)
  {
     try
      {
      ServerManager iisManager = new ServerManager();

      if (!applicationName.Contains("/"))
          applicationName = "/" + applicationName;



      var app = iisManager.Sites[websiteName].Applications.Add(applicationName, appDIR);                             


      app.ApplicationPoolName = appPoolName;

      var config = app.GetWebConfiguration();

      var anonsection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", iisManager.Sites[websiteName].Name + applicationName);

      //This is where it fails 
      anonsection["enabled"] = false;

      var winsection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", iisManager.Sites[websiteName].Name + applicationName);
      winsection["enabled"] = true;

      iisManager.CommitChanges();
      return true;
    }
    catch
    {
      return false;
    }
 }
1

1 Answers

2
votes

Use the following commands from an admin command prompt

%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/security/authentication/windowsAuthentication
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/security/authentication/anonymousAuthentication

This will unlock those config sections.