2014-12-23 3 views
0

У меня есть эта проблема с моим веб-приложением ASP.NET, когда я пытаюсь создать мой логин, тогда он не будет аутентифицировать пользователя. У меня есть контактный указал мою проблему, чтобы быть в моем файле web.config:Аутентификация не аутентифицируется из-за файла web.config

<?xml version="1.0"?> 

<configuration> 
    <configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 
    <system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="Workice" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

    <appSettings> 
    <add key="webpages:Enabled" value="false" /> 
    </appSettings> 

    <authentication mode="Forms"> 
    <forms loginUrl="~/Login/Login" timeout="2880" /> 
    </authentication> 
    <system.webServer> 
    <handlers> 
     <remove name="BlockViewHandler"/> 
     <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
    </system.webServer> 
</configuration> 

Код выше полный файл web.config. База данных работает и проверяет пользователя также идеально, поэтому его что-то в файле web.config.

Это мой контроллер:

[HttpPost] 
     public ActionResult Login(Customer customer) 
     { 
      serviceSiteContext db = new serviceSiteContext(); 
      var c = new Customer(); 

      if (ModelState.IsValid) 
      { 
       if (IsValid(customer.EMail, customer.Pass)) 
       { 

        using (var context = new serviceSiteContext()) 
        { 
         c = context.Customer.Where(cos => cos.EMail == customer.EMail).FirstOrDefault(); 
        } 
        FormsAuthentication.SetAuthCookie(c.Username, true); 
        return RedirectToAction("Index", "Home"); 
       } 
       else 
       { 
        ModelState.AddModelError("", "Log ind data er ikke korrekte."); 
       } 
      } 
      return View(c); 
     } 
+0

Вы получаете ошибку? Кажется, что важно знать, в чем проблема. Какой поставщик проверки подлинности вы используете? – mason

+0

Похоже, вам не хватает раздела членства в web.config, поэтому он может вытащить его из файла machine.config. Вы там посмотрели? – Jerode

+0

Я не использую никаких, но я предполагаю, что я попытаюсь использовать аутентификацию форм. – McBoman

ответ

2

Ваш узел аутентификации должен быть внутри system.web, как это:

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

Один из видов или в корневой папке? – McBoman

+0

Изменения должны быть внесены в корневой web.config. –

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