Я создал систему входа на C# в соответствии с этим руководством: https://msdn.microsoft.com/en-us/library/xdt4thhy.aspx
У меня есть определенная иерархия файлов. Мой web.config, очевидно, находится в моей корневой папке, но приложение, требующее входа в систему, находится во вложенной папке. Если я создаю новый web.config внутри вложенной папки и изменю папку на приложение (через IIS), все будет работать. Но вот в чем дело:
По соображениям безопасности мне не разрешено превращать вложенные папки в IIS в приложения. Мне нужно найти способ указать мои теги аутентификации входа в главный файл web.config, тот, который находится в моей корневой папке.
Когда я пытаюсь сделать это, используя тег «location», чтобы указать, что мне нужна только система входа в мою вложенную папку:
<location path = "components/nestedFolder">
<system.web>
<compilation debug = "true" targetFramework = "4.0" />
<authentication mode = "Forms">
<forms loginUrl = "Logon.aspx" name = ".ASPXFORMSAUTH" />
</authentication>
<authorization>
<deny users = "?" />
</authorization>
</system.web>
</location>
... Я получаю эту неприятную ошибку:
It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Как я уже сказал, я не могу превратить свою вложенную папку в приложение IIS. Итак, есть ли способ изменить атрибут «allowDefinition», чтобы я мог достичь своей цели?
Заранее спасибо.
Ответ: вы не можете.
А как насчет тега ConfigSections?
@JosePeres вы можете определять новые разделы, но не можете разбивать существующие.





Хосе, я удалил тег C# только потому, что этот вопрос не связан с программированием на C#, это проблема конфигурации IIS. Теги должны иметь отношение к вопросу. У вас была бы такая же проблема, если бы ваше приложение было написано на VB.NET.