当前位置: 首页 > 面试题库 >

记住我在Angularjs中的功能和令牌

魏鸿禧
2023-03-14
问题内容

我正在寻找一种更好的方法来解决我的问题。我在登录表单上记得我的功能。用户单击“记住我”框,“我的API”向我发送令牌。

我的问题是,当用户返回我的网站时,存储此令牌并再次对其进行身份验证的最佳方法是什么?

我以为

  1. 创建一个Cookie并在其中存储令牌。
  2. 创建本地存储。

请给我任何可能对我有帮助的建议。


问题答案:

我将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



 类似资料:
  • 问题内容: 我正在尝试实现“记住我” /“自动登录”功能。我已经在客户端存储了一个cookie,但是什么时候应该阅读它?例如,如果尝试在过滤器中执行此操作,则将无法访问用于访问数据库的应用程序范围的bean。 最佳做法是什么? 问题答案: 这在某种程度上取决于您当前的登录名是如何工作的。是容器登录后跟自定义内容(例如在会话中放置一些对象)还是仅自定义? 在第一种情况下,您无法在JSF中完全自动登录

  • 问题内容: 我正在尝试测试登录表单的“记住我”功能。我可以输入用户名和密码,单击复选框,单击提交,或浏览器。但是,当我使用(或任何其他实现)重新打开浏览器时,测试站点不记得任何内容,因为在关闭浏览器时所有cookie都会被删除,而在重新打开浏览器时将无法访问。 问题答案: 对于Chrome(配置): 您必须将路径设置为user-dir,这将在您首次登录后保存所有登录信息。下次再次登录时,将从用户目

  • 我试图实现一个函数使用Laravel 4. 但是我得到了这个错误: Symfony\Component\Debug\Exception\FatalErrorException语法 错误,意外',' Routes.php 用户控制器。php 编辑 Symfony\组件\调试\异常\错误异常 …应用程序/控制器/用户控制器。php13 照亮\异常\处理程序手柄关闭 13号线是

  • 我正在和Spring Boot一起开发一个集成了LDAP的应用程序。我能够成功地连接到LDAP服务器并验证用户。现在,我需要添加“记住我”功能。我试图通过不同的职位(这),但无法找到我的问题的答案。官方的Spring安全文件指出 如果您正在使用不使用UserDetailsService的身份验证提供程序(例如,LDAP提供程序),那么它将不起作用,除非您的应用程序上下文中也有UserDetails

  • 问题内容: 我有一个登录页面,我想添加“记住我”功能;因此,如果用户注销并再次打开页面,则会加载其用户名和密码。为此,当用户登录(并选中“记住我”)时,我保存了以下cookie: 问题是稍后(在同一会话中)我阅读了cookie,然后看到maxAge = -1; 即使我将其设置为3600 …为什么呢?另一个问题:如果我使用userCookie.setSecure(true)将cookie设置为安全,

  • 本文向大家介绍ThinkPHP3.2.2实现持久登录(记住我)功能的方法,包括了ThinkPHP3.2.2实现持久登录(记住我)功能的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP3.2.2实现持久登录功能的方法。分享给大家供大家参考,具体如下: 实现持久登录,即用户在登录时,勾选了"记住我"之后,无论是否关闭浏览器,只要不退出登录,在指定的时间内始终保持登录状态(缺