Parece que espera alterar la configuración del sistema de información de Internet para el sitio; Si eso es correcto algo como esto debería funcionar:
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetWebConfiguration("Contoso");
ConfigurationSection authorizationSection = config.GetSection("system.webServer/security/authorization");
ConfigurationElementCollection authorizationCollection = authorizationSection.GetCollection();
ConfigurationElement addElement = authorizationCollection.CreateElement("add");
addElement["accessType"] = @"Allow";
addElement["roles"] = @"administrators";
authorizationCollection.Add(addElement);
serverManager.CommitChanges();
}
El código anterior permitirá crear una regla de autorización que permite a un usuario en particular en un grupo para acceder a un sitio en particular. En este caso, el sitio es Contoso.
Esto deshabilitará la autenticación anónima para el sitio; a continuación, habilitar básico & autenticación de Windows para el sitio:
using(ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection anonymousAuthenticationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso");
anonymousAuthenticationSection["enabled"] = false;
ConfigurationSection basicAuthenticationSection = config.GetSection("system.webServer/security/authentication/basicAuthentication", "Contoso");
basicAuthenticationSection["enabled"] = true;
ConfigurationSection windowsAuthenticationSection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", "Contoso");
windowsAuthenticationSection["enabled"] = true;
serverManager.CommitChanges();
}
O simplemente puede añadir una cuenta de usuario del Administrador de IIS si lo desea; que puede configurar con ciertos permisos para manipular y administrar esas otras aplicaciones.
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetAdministrationConfiguration();
ConfigurationSection authenticationSection = config.GetSection("system.webServer/management/authentication");
ConfigurationElementCollection credentialsCollection = authenticationSection.GetCollection("credentials");
ConfigurationElement addElement = credentialsCollection.CreateElement("add");
addElement["name"] = @"ContosoUser";
addElement["password"] = @"[email protected]";
addElement["enabled"] = true;
credentialsCollection.Add(addElement);
serverManager.CommitChanges();
}
Hay mucha flexibilidad dentro del Sistema de información de Internet; es bastante poderoso. La documentación a través de la referencia también es bastante profunda. Los ejemplos son bastante ineptos para adaptarse a su uso particular o al menos proporcionar un nivel de comprensión para que haga lo que quiera.
Esperemos que la ayuda, esos ejemplos vinieron de here: