2016-06-20 4 views
0

Nach dem Lesen mehrerer Foren mit (ein bisschen) das gleiche Problem, aber keine dieser vorgeschlagenen Antworten zur Behebung meines Problems, endete ich mit meinem eigenen Beitrag.MVC5 - Keep immer HTTP-Fehler 404.0 - Nicht gefunden Fehler bei der Authentifizierung mit Identität

Wie der Titel sagt, habe ich Probleme mit dem Auslösen meiner Anwendung (auf localhost zum Testen) mit Identity-Authentifizierung.

Der Fehler Ich erhalte:

HTTP Error 404.0 - Not Found 

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. 

Detailed Error Information: 



Module 
    IIS Web Core 

Notification 
    MapRequestHandler 

Handler 
    StaticFile 

Error Code 
    0x80070002 



Requested URL 
    http://localhost:xxxx/auth/login?ReturnUrl=%2F 

Physical Path 
    c:\users\xxxx\documents\visual studio 2015\Projects\MyProject\MyProject\auth\login 

Logon Method 
    Anonymous 

Logon User 
    Anonymous 

Request Tracing Directory 
    C:\Users\xxxx\Documents\IISExpress\TraceLogFiles\MyProject 

Der Code I ist wie folgt verwendet:

Die Startklasse im App_Start Ordner

public class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      app.UseCookieAuthentication(new CookieAuthenticationOptions 
      { 
       AuthenticationType = "ApplicationCookie", 
       LoginPath = new PathString("/auth/login") 
      }); 
     } 
    } 

Die FilterConfig Klasse auch im Ordner App_Start:

public class FilterConfig 
    { 
     public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
     { 
      filters.Add(new HandleErrorAttribute()); 
      filters.Add(new AuthorizeAttribute()); 
     } 
    } 

Die registerFilters im Global.asax

protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 
      RouteConfig.RegisterRoutes(RouteTable.Routes); 
      FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
     } 

Der Regler ist mit der actionresult Anmeldung Called Auth (AuthController) (und die Anzeige für teil hinzugefügt). Nichts besonderes hier, da ich den Fehler bereits bekommen habe.

In der web.config habe ich die Linie in appSettings:

<add key="owin:AppStartup" value="MyProject.App_Start.Startup"/> 

Ich habe keine Ahnung, was ich falsch mache, vielleicht einige IIS Config, das falsch ist? Oder ist es wirklich der Pfad, der die Fehler gibt?

Dies sind die Dinge (von einigen anderen Beiträgen genommen), die ich bereits

  • Hinzufügen <add key="autoFormsAuthentication" value="false" /> und <add key="enableSimpleMembership" value="false"/> auf die WebConfig-Datei versucht haben.
  • In IIS die anonyme Authentifizierung auf Anwendungspoolidentität statt Specific Benutzer

Meine IIS Applikations-Pools sehen wie folgt einstellen: enter image description here

Antwort

0

Nach einiger Einmischungen und suchen Sie in anderen Identität Beiträge fand ich heraus, dass Die Fehlermeldung, die ich bekomme, liegt daran, dass ich die URL in RouteConfig auf leer gesetzt habe.

ich es so hatte:

routes.MapRoute(
       name: "Default", 
       url: "", 
       defaults: new { controller = "StartWeb", action = "Index", id = UrlParameter.Optional } 
      ); 

während es so sein sollte:

routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "StartWeb", action = "Index", id = UrlParameter.Optional } 
      ); 

Wenn es wieder auf den Standard Ändern der Fehler verschwunden war.

Verwandte Themen