2012-06-12 20 views
7

Estamos alojado en AppHarbor y usando su memcacher complemento, la configuración como se describe en la documentación:ASP.NET sin cookies de sesión de URL problema sólo en Safari Mobile

<sessionState cookieless="false" regenerateExpiredSessionId="true" mode="Custom" 
      customProvider="MemcachedSessionProvider" xdt:Transform="Insert"> 
    <providers> 
    <add name="MemcachedSessionProvider" 
     type="MemcachedProviders.Session.SessionStateProvider,MemcachedProviders" 
     dbType="none" /> 
    </providers> 
</sessionState> 

Estamos viendo un tema que puede ser reimpreso por:

  1. Después de una URL acortada a Twitter appfail.net dentro de iOS Safari (o los de aplicación de Twitter iphone incorporado navegador WebKit): http://t.co/6tRXopEJ
  2. Haga clic en el botón nuestra 'Run demo', w Luego, firma automáticamente al usuario con nuestra cuenta demo.

En este punto, el servidor emite un redireccionamiento 302 a una URL no válida, por ejemplo: http://appfail.net/(F(FckQ4UX0zD_WSxk_adpkk3YysHsYQS4TSVpljxmswyBqEAZ1q-YhW4KePrpYQfJ4KlLGaiyje_TbpeSARVyI8LioQ7Jp5EIc0Zm9u99IqRRkkoMh_wr-jrsrvje4J7KpUt1n87xEMzMeqHzpMz9ksm42IqNnf3F9B6GBwrnuA5EY_YsV0))/Applications

La url parece contener un SessionID, en el mismo formato que utiliza IIS para sesiones sin cookies. Esto también tendría sentido, ya que IIS puede configurarse para usar cookies sin sesión basadas en el UserAgent, por lo que solo se reproduce en safari móvil (aunque no estoy seguro de por qué solo ocurre con el t.co/ redirigir, y no cuando cargando la página directamente)

Lo extraño es que tenemos sesiones sin cookies desactivadas. Como puede ver en el estado de la sesión anterior. También he intentado esto con la configuración 'cookieless = "UseCookies"' ... ¡Sin suerte!

He agregado el registro e incluso he verificado que el sistema esté configurado como "UseCookies" mientras se ejecuta.

Entonces, me pregunto cómo podríamos estar redirigiendo a los usuarios a una URL sin cookies, simplemente usando RedirectToAction()?

Me pregunto si esto podría estar relacionado con el proveedor de estado de sesión personalizado - MemcachedProvider? ¿O es algo más básico?

Gracias Sam

+0

¿Ha intentado abandonar el 'MemcachedProvider' y ejecutar un sitio de prueba en un solo trabajador para ver si puede reproducirse? – friism

Respuesta