如何使用onsen ui存储登录信息?

时间:2015-12-01 17:52:13

标签: angularjs onsen-ui

我想使用onsen ui和angularjs开发一个hybird应用程序,但是现在我遇到了一个问题,这个应用程序无法存储用户的登录信息,因此用户必须在关闭应用程序后每次登录。

我使用$ cookies,service和$ rootScope存储用户的登录信息,但所有这些信息都无法在Android平台上运行。

任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:3)

使用此插件https://github.com/litehelpers/Cordova-sqlite-storage或类似的东西来创建一个sqlite数据库。创建一个包含您要保留的信息的表(用户名和密码)。您可以创建密码的哈希并存储它以获得更好的安全性(md5或sha1)。

您还可以保留登录的时间戳并让用户在特定的时间间隔内登录,因此当他打开应用程序时,检查您是否在此时间间隔内(例如,日,周等)。最后一次登录,如果是,请自动登录,否则再次显示登录界面。

答案 1 :(得分:3)

在像Onsenui这样的HTML5移动框架上,我建议使用localStorage。

您可以查看这两个AngularJs模块:

他们有非常好的书面说明和演示代码作为参考。

答案 2 :(得分:3)

 if (window.localStorage.getItem("rememberMe") == "true") {
        $scope.userEmail = window.localStorage.getItem("userName");
        $scope.userPassword = window.localStorage.getItem("password");
        document.getElementById("rememberMe").checked = true;
 }
 else {
       document.getElementById("rememberMe").checked = false;
 }
 if (document.getElementById("rememberMe").checked == true) {
       window.localStorage.setItem("rememberMe", "true");
       window.localStorage.setItem("userName", $scope.userEmail);
       window.localStorage.setItem("password", $scope.userPassword);
 }
 else if (document.getElementById("rememberMe").checked == false) {
     window.localStorage.setItem("rememberMe", "false");
     window.localStorage.setItem("userName", "");
     window.localStorage.setItem("password", "");
 }

嗨!看看上面的代码。它存储在本地存储