jQuery mobile和PhoneGap使用会话来确保用户无法"返回"或访问页面,除非登录

Jam*_*esG 3 authentication jquery-mobile cordova

我正在使用PHP Web服务创建一个应用程序来记录用户/验证他们的凭据.

我正在使用localStorage(phonegaps本地存储API的一部分)来确保用户在打开应用程序时不必继续登录.这是通过将用户名和密码存储在本地存储上并在应用程序打开时进行检查来完成的.如果他们觉得需要注销我有一个简单的注销按钮绑定到点击事件,清除他们的本地存储.

    $( '#logout' ).live( 'tap',function(event){

    window.localStorage.clear();
    $.mobile.changePage("#loginPage", {transition: "none"});


});
Run Code Online (Sandbox Code Playgroud)

但是......当退出时,他们仍然能够点击手机上的后退按钮并进入安全区域,这没有任何意义,因为"欢迎,(用户名)"部分全部搞砸了......

我想知道是否有办法确保他们打开的页面做某种检查以确保他们登录?

Nir*_*tel 5

绑定到pagebeforeshow页面事件以检查用户是否已登录 - 检查本地存储中是否存在凭据.

如果用户未登录,您可以通过修改传递给处理程序来调用preventDefault停止pageChange或更好地将用户重定向到loggedOffPage toPage.

请参阅JQM Events页面Page change events上的部分.