2012-08-30 12 views
5

que estoy tratando de convertir de autenticación anónima en un sitio usando C#No puedo establecer la autenticación de IIS mediante programación con C#

Este código ha producido una excepción escrito en la parte inferior i buscado por todas partes no puedo encontrar respuestas cómo solucionarlo:

using (ServerManager serverManager = new ServerManager()) 
{ 
    Configuration configapp = serverManager.GetApplicationHostConfiguration(); 
    ConfigurationSection anonymousAuthenticationSection = configapp.GetSection("system.webServer/security/authentication/anonymousAuthentication", Site1); 
    anonymousAuthenticationSection["enabled"] = false; 

    serverManager.CommitChanges(); 
} 

La excepción:

System.IO.FileNotFoundException: Filename: \\?\C:\Windows\system32\inetsrv\config\applicationHost.config 
Error: Unrecognized configuration path 'MACHINE/WEBROOT/APPHOST/Site1' 
    at Microsoft.Web.Administration.Interop.AppHostWritableAdminManager.GetAdminSection(String bstrSectionName, String bstrSectionPath) 
    at Microsoft.Web.Administration.Configuration.GetSectionInternal(ConfigurationSection section, String sectionPath, String locationPath) 
    at Microsoft.Web.Administration.Configuration.GetSection(String sectionPath, String locationPath) 
    at FlowSuiteWebConfigurator.label.button1_Click(Object sender, EventArgs e) in C:\Users\Administrator\documents\visual studio 2010\Projects\Projectname\Projectname\Form1.cs:line 264 

puede alguien me guía cómo solucionar este problema?

+0

En vista de que usted tiene etiquetada C#, supongo que esto es ASP.NET. Si quiere negar a cualquier usuario que no esté autenticado, sería mejor que lo haga en el sitio web de su sitio web real. Esto debería denegar a los usuarios no autorizados el acceso a su sitio. seekerOfKnowledge

+0

En realidad estoy usando C# como formulario de configurador web de IIS. y quiero primero desactivar anon login programáticamente y luego aplicar solo "autenticación de Windows" – user1593455

Respuesta

2

Un poco tarde quizá (1 año y medio después de ...), pero el problema parece estar en la definición de la ubicación (segundo parámetro de configapp.GetSection): la excepción dijo Error: Unrecognized configuration path 'MACHINE/WEBROOT/APPHOST/Site1'

Probado localmente en mi máquina, no tengo ninguna excepción con un nombre de ubicación válido como Default Web Site/MyCustomPortal.

Nota: la referencia es añadido Microsoft.Web.Administration.dll bajo C:\Windows\System32\inetsrv\, y esas líneas de código mirar en el archivo applicationHost.config situado en C:\Windows\System32\inetsrv\config

Cuestiones relacionadas