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

问题描述 投票:0回答:1

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

javascript angularjs web
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.