Похоже, вы надеетесь изменить конфигурацию информационной системы Интернета для сайта; если это правильно, что-то вроде этого должно работать:
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();
}
Приведенный выше код позволит вам создать правило авторизации, позволяющее определенному пользователю в группе получить доступ к определенному сайту. В данном случае это сайт Contoso.
Затем это отключит анонимную аутентификацию для сайта; затем включите базовую и Windows-аутентификацию для сайта:
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();
}
Или вы можете просто добавить учетную запись пользователя IIS Manager, если хотите; которым вы можете установить определенные разрешения для манипулирования и управления этими другими приложениями.
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"] = @"P@ssw0rd";
addElement["enabled"] = true;
credentialsCollection.Add(addElement);
serverManager.CommitChanges();
}
Интернет-информационная система обладает большой гибкостью; он довольно мощный. Документация через эту ссылку также довольно глубокая. Примеры совершенно не подходят для адаптации к вашему конкретному использованию или, по крайней мере, обеспечивают уровень понимания, чтобы заставить его делать то, что вы хотите.
Надеемся, что это поможет, эти примеры взяты из здесь:
person
Greg
schedule
13.12.2012