usar tutorial proyecto net mvc existing español como asp asp.net-mvc-5 owin windows-authentication

asp.net-mvc-5 - tutorial - como usar asp.net identity



No se asocia ningún administrador de autenticación OWIN con la solicitud (6)

¡Finalmente encontré el problema! ¡Después de comparar línea por línea con un proyecto recién creado y no encontrar ninguna diferencia, verifiqué referencias en ambos proyectos y sí! ... Todo el problema era del paquete perdido:

Microsoft.Owin.Host.SystemWeb

No sé por qué este paquete se pierde en la fase de instalación del paquete, pero lo extraño es que ¿por qué no se lanzó ninguna excepción de compilación? o no hay ningún error de referencia dll?

Después de tratar de habilitar Owin y AspNet Identity para mi proyecto Web Api (en VS 2013 + .Net 4.5.1) recibo el siguiente error en cada solicitud válida o no válida (petición para ningún controlador existente):

<Error> <Message>An error has occurred.</Message> <ExceptionMessage> No OWIN authentication manager is associated with the request. </ExceptionMessage> <ExceptionType>System.InvalidOperationException</ExceptionType> <StackTrace> at System.Web.Http.Owin.PassiveAuthenticationMessageHandler.SuppressDefaultAuthenticationChallenges(HttpRequestMessage request) at System.Web.Http.Owin.PassiveAuthenticationMessageHandler.<SendAsync>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at System.Web.Http.HttpServer.<SendAsync>d__0.MoveNext() </StackTrace> </Error>

Cuando revisé el modo de depuración, ¡no se maneja ninguna excepción! También me di cuenta de que la Configuration en la clase de Startup nunca se llama (de hecho, nunca es capturada por el depurador). aquí está el código para el inicio:

[assembly: OwinStartup(typeof(bloob.bloob.Startup))] namespace bloob.bloob { public partial class Startup { public void Configuration(IAppBuilder app) { ConfigureAuth(app); } } }


Cambiar el owin:AutomaticAppStartup clave owin:AutomaticAppStartup en true en Web.config me solucionó esto, es decir, cambiarlo de:

<appSettings> <add key="owin:AutomaticAppStartup" value="false" /> </appSettings>

a esto:

<appSettings> <add key="owin:AutomaticAppStartup" value="true" /> </appSettings>


Mi caso, falló desde esta configuración en web.config. Espero que esto ayude a alguien a evitarlo.

<appSettings> <add key="owin:AutomaticAppStartup" value="false" /> </appSettings>


Originalmente creé el proyecto con autenticación. Tuve que eliminar esto en el archivo WebApiConfig.cs.

// Web API configuration and services // Configure Web API to use only bearer token authentication. config.SuppressDefaultHostAuthentication(); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));


Yo tuve el mismo problema. El paquete no aparecía en el administrador de paquetes NuGet. Agregué referencia en packages.config:

<package id="Microsoft.Owin.Host.SystemWeb" version="2.1.0" targetFramework="net45" />

Y referencia en el archivo de proyecto (xxx.csproj):

<Reference Include="Microsoft.Owin.Host.SystemWeb"> <HintPath>../packages/Microsoft.Owin.Host.SystemWeb.2.1.0/lib/net45/Microsoft.Owin.Host.SystemWeb.dll</HintPath> </Reference>


si realmente no necesita OWIN, simplemente puede desinstalarlo.

Una forma de hacerlo es desinstalar en Nuget Manager cada biblioteca OWIN, el orden será dictado por sus dependencias.

una vez hecho esto, no necesita ningún código o configuración relacionada con OWIN. esto funcionó mejor para mí ya que estoy usando la autenticación de Windows.