2017-02-22 55 views
1

После этого звания, в моем web.config, он генерируется VS 2012.MVC5 Где разместить идентификационные формы в web.config?

Теперь, я не знаю, где я поставил следующий код в web.config через Я видел, кто-то положил его в <system.web>, но в моем web.config имеет только <system.web.webPages.razor> и <system.webServer>. Когда я поставил этот код где-то в web.config я получаю ошибку при <authentication mode="Forms">:

Там же код:

<authentication mode="Forms"> 
    <forms loginurl="~/Comfirm/Login" timeout="2880"></forms> 
</authentication> 
+1

Вы помещаете его в неправильный файл web.config. Есть два файла web.config. один в папке «Просмотры» и один в корне сайта. поместите его в тег system.web файла конфигурации в корне сайта. – Nkosi

+0

@Nkosi о, мой бог, 9:36 вечера, моя ошибка. Он решен. Спасибо ! – user1465351

ответ

4

Вы помещаете его в неправильный файл web.config. Есть два файла web.config. один в Views Папка и одна в корне сайта. положить его в system.web теге файла web.config в корневом каталоге сайта

<configuration> 
    <configSections> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    </configSections> 
    <connectionStrings /> 
    <appSettings > 
    <add key="webpages:Version" value="3.0.0.0" /> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="owin:AutomaticAppStartup" value="true" /> 
    <add key="PreserveLoginUrl" value="true" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings>  

    <system.web> 
    <authentication mode="Forms"> 
     <forms loginUrl="~/Comfirm/Login" timeout="2880" /> 
    </authentication> 
    </system.web> 

    <!--other configuration--> 
<configuration> 
+0

Большое спасибо. Виноват ! – user1465351

1

Вам нужно добавить <system.web> в конфиг и положить раздел аутентификации within it:

<system.web> 
    <authentication mode="Forms"> 
     <forms loginurl="~/Comfirm/Login" timeout="2880"></forms> 
    </authentication> 
</system.web> 
+0

Я пытаюсь, но я получаю сообщение об ошибке: Ошибка использования раздела, зарегистрированного как allowDefinition = 'MachineToApplication', превышающего уровень приложения. Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS. – user1465351

+0

Вы добавили его в web.config в корневое приложение? – stuartd

+0

uhm, я добавил после тега user1465351

1

Если я не ошибаюсь, VS только делает теги, которые он будет использовать. Вы пробовали создать <system.web>? Он не будет автоматически генерировать пустые разделы в config.

<system.web> 
    <authentication mode="Forms"> 
     <forms loginurl="~/Comfirm/Login" timeout="2880"></forms> 
    </authentication> 
</system.web> 
+0

Я пытаюсь, но я получаю сообщение об ошибке: Ошибка использования раздела, зарегистрированного как allowDefinition = 'MachineToApplication', превышающего уровень приложения. Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS. – user1465351

+0

@ user1465351 Если вы получаете эту ошибку, вы используете неправильный файл 'web.config'. – Andrew

0

в MVC 5 Значение по умолчанию:

<system.web> 
<authentication mode="None" /> 
<compilation debug="true" targetFramework="4.7.1" /> 
<httpRuntime targetFramework="4.7.1" /> 
<httpModules> 
    <add name="ApplicationInsightsWebTracking" 
    type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, 
Microsoft.AI.Web" /> 
</httpModules> 
</system.web> 

Вы можете заметить линию

<authentication mode="None" /> 

Измените его на:

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="1440" /> 
</authentication> 

И таймаут = "1440" его Средний один день

 Смежные вопросы

  • Нет связанных вопросов^_^