需要您就我目前面临的问题提供指导。我们有一个 Web 应用程序,它在应用程序的子目录下有一些 asp.net Web 服务(asmx)。每当我们在应用程序级别配置 Windows 身份验证时,我期望这个设置将被继承到子目录中的所有 asmx 服务。但是他们仍然将他们的身份验证模式显示为匿名身份验证。在这种状态下,当我尝试访问 Web 服务时,我得到一个 401.2 Unauthorized 异常。我必须手动将服务的身份验证模式更改为 windows 才能访问该 Web 服务。我们也在尝试使用 Microsoft.Web.Administration dll 自动执行此操作。我们正在使用
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection anonymousAuthenticationSection =
config.GetSection("system.webServer/security/authentication/anonymousAuthentication", siteName);
在上面的代码中,siteName 变量包含应用程序的路径,如网站/应用程序谁能告诉我如何使用 ServerManager api 在 asmx 服务级别设置 Windows 身份验证?