如何在angular.js中实现信任/记忆设备

时间:2017-12-21 19:43:12

标签: javascript angularjs web

登录Angular.js网站时,我需要实现信任/记忆设备。这是我可以选择不必在我每天使用的计算机和设备上输入密码和用户名,但如果有人获取我的密码并尝试登录某个未知的计算机或设备,他们仍然需要输入密码和用户名登录。

1 个答案:

答案 0 :(得分:0)

你可以在工厂里使用一种叫做document.cookie的东西。我找到了一些你可以使用的示例代码?

创建一个cookie(例如,这个cookie在一年后到期):

app.factory('$remember', function() {
  return function(name, values) {
    var cookie = name + '=';

    cookie += values + ';';

      var date = new Date();
      date.setDate(date.getDate() + 365);

      cookie += 'expires=' + date.toString() + ';';

      document.cookie = cookie;
    }
});

此工厂删除了Cookie:

app.factory('$forget', function() {
  return function(name) {
    var cookie = name + '=;';
    cookie += 'expires=' + (new Date()).toString() + ';';

    document.cookie = cookie;
  }
});

然后,只要用户使用$ remember

成功登录缓存密钥
$remember('my_cookie_name', response.user._id);

在登录用户时始终检查cookie是否存在,否则使用标准登录并将其保存到cookie中。如果没有启用记住我,请忘记document.cookie