Подтвердить что ты не робот

ASP.NET MVC 5 Web.config: "FormsAuthenticationModule" или "FormsAuthentication"

Хорошо, так что это неважно, но это подталкивает меня, и я не могу этого допустить.

Итак, я использую MVC 5.1 с .NET 4.5.1 и OWIN-аутентификацией. Поэтому, когда вы создаете новый проект MVC 5, в Web.config автоматически добавляется следующее: чтобы избавиться от HTTP-модуля проверки подлинности форм, поскольку он больше не нужен при использовании промежуточного программного обеспечения OWIN:

<system.webServer>
    <modules>
        <remove name="FormsAuthenticationModule" />
    </modules>
</system.webServer>

Теперь, когда мы удаляем модуль, это означает, что он был добавлен ранее, так что вот запись, регистрирующая этот http-модуль в C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config:

<httpModules>
    <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
</httpModules>

И вот запись в C:\Windows\System32\inetsrv\config\applicationHost.config для IIS 8.5, которая сообщает моему приложению использовать модуль:

<system.webServer>
    <modules>
        <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
    </modules>
</system.webServer>

Итак, то, что автоматически добавлено в мою веб-конфигурацию на уровне приложения, имеет атрибут имени "FormsAuthenticationModule", в то время как записи в двух конфигурационных файлах уровня сервера/уровня asp.net используют атрибут name "FormsAuthentication". и так, что здесь происходит? Мне кажется, что модуль не будет удален, так как атрибут name не совпадает. Я бы просто подумал, что это опечатка, но после поиска в Интернете все, кажется, используют "FormsAuthenticationModule" в приложении web.config. Было ли это недавнее изменение в новой версии asp.net/iis или я что-то пропустил?

4b9b3361

Ответ 1

Вы правы - это опечатка в шаблоне.

Ответ 2

Основной побочный эффект этой "опечатки" заключается в том, что он оставит FormsAuthentication на том, чтобы вызвать путь для входа в систему owin для игнорирования и вызывает аутентифицированные страницы, идущие в/login.aspx