2011-06-02 55 views
2

我有一个使用jQueryMobile的ASP.NET MVC2应用程序。这是一个安全的应用程序,我在MVC2框架内使用ASP.NET身份验证。在iPad上使用jQueryMobile时,不存储ASP.NET身份验证Cookie

我通过web.config中使用标准的认证:作为基于相同的母版页

[Authorize] 
public class ClientController : Controller 

我所有的网页:

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/LogOn" timeout="2880" /> 
</authentication> 

我正在寻求使用授权属性某些控制器,它有一个顶级容器div如下:

<div class="page" data-role="page"> 

这一切在Chrome上完美运行。但是,在iPad上,身份验证不起作用。看来认证cookie永远不会存储在客户端上。 iPad不断显示登录页面,即使我输入正确的凭证。我尝试将Safari Accept Cookies设置设置为“始终”。

有没有人在iPad上使用ASP.NET MVC2身份验证部署jQueryMobile应用程序?谢谢。

编辑:好吧,我已确定该Cookie确实被存储在客户端上,但现在看来,jQueryMobile + Safari浏览器在某种程度上consipring不断显示登录页面,而不是重定向我应该是这样的页面根据登录重定向显示。

回答

1

我相信我有答案。关于iPad,您需要专门设置web.config以强制使用Cookie。我在web.config中的身份验证设置如下所示:

<authentication mode="Forms"> 
     <forms loginUrl="~/Account/LogOn" timeout="2880" 
      cookieless="UseCookies" 
      /> 
    </authentication> 

这是Cookieless =“UseCookies”条目解决了问题。这个的默认值是UseDeviceProfile。一定是iPad没有一致的UseDeviceProfile制度。在iPad上,有时它工作,有时却不行。不要问我为什么。现在它似乎一直在努力。

0

我同意Journeyman,那就是我用的。但是,如果他们将网站添加到主屏幕,那么这些设置仍然不起作用。

一些人声称他们不会在那种情况下存储cookie。 查看相关Q:iPhone/iPad WebApps don't allow cookies?