asp.net-mvc azure wif acs

asp.net mvc - ACS instalado pero la aplicación MVC 4.0 todavía redirige y no puede encontrar login.aspx



asp.net-mvc azure (1)

Abra su archivo web.config.

Ubique el nodo Autenticación.

Cambiar desde:

<authentication mode="Forms" />

A:

<authentication mode="None" />

Comente aquí, si no ayuda, y cuál es el resultado después de los cambios en web.config.

Como una pregunta complementaria: ¿cómo agregaron una referencia al espacio de nombres ACS? Mediante "clic derecho -> Agregar referencia STS", o cambiaron manualmente el archivo web.config?

Asegúrese de que los Módulos requeridos estén registrados en el servidor web:

<system.webServer> <modules runAllManagedModulesForAllRequests="true"> <add name="ClaimsPrincipalHttpModule" type="Microsoft.IdentityModel.Web.ClaimsPrincipalHttpModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" /> <add name="WSFederationAuthenticationModule" type="Microsoft.IdentityModel.Web.WSFederationAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" /> <add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" /> </modules> ... </system.webServer>

También asegúrese de tener la sección microsoft.identityModel y de tener el nodo federateAuthentcation dentro de ella:

<federatedAuthentication> <wsFederation passiveRedirectEnabled="true" issuer="https://[your_namespace].accesscontrol.windows.net/v2/wsfederation" realm="http://127.0.0.1:81/" requireHttps="false" /> <cookieHandler requireSsl="false" /> </federatedAuthentication>

Donde "reino" será una URL válida para la aplicación Realying Party. Y requireHttps = "false" es simplificar el proceso de desarrollo.

Cuando lo depure localmente, asegúrese de que está ejecutando el proyecto de la nube (que usa IIS), y no el proyecto web (que usará Cassini / webdevserver, que no comprende la sección system.webServer).

Primero publico aquí en stackoverflow pero me encanta el sitio! ...

Creé con éxito una aplicación de modelo híbrido Azure completamente funcional utilizando MVC 4. Publicado y funciona muy bien. Ahora quiero agregar ACS para la autenticación a mi sitio. He seguido todos los pasos, pero cuando ejecuto la aplicación en simulación, no puedo volver a dirigirla a ACS y ofrezco la página que indica que no pudo encontrar login.aspx.

He creado una solución de sitio web simple solo para demostrar que mi ACS está configurado correctamente y funciona bien. Noté que los archivos web.config de las dos soluciones eran muy diferentes.

¿Alguien intentó hacer esto todavía? Cualquier ayuda sería apreciada.

--------- Solución -----------

Finalmente conseguí que todo funcionara. La clave era eliminar las referencias de WebMatrix.WebData ya que no necesitaba hacer mi propia autenticación. Lo siguiente vino de las notas de la versión MVC4.

Cuando WebMatrix.WebData.dll se incluye en el directorio / bin de una aplicación ASP.NET MVC 4, toma el URL para la autenticación de formularios. Agregar el ensamblado WebMatrix.WebData.dll a su aplicación (por ejemplo, al seleccionar "Páginas web ASP.NET con sintaxis Razor" al usar el cuadro de diálogo Agregar dependencias desplegables) anulará el inicio de sesión de autenticación redirigido a / cuenta / inicio de sesión en lugar de / cuenta / iniciar sesión como se espera por el controlador de cuenta predeterminado de ASP.NET MVC.