当前位置: 首页 > 知识库问答 >
问题:

认证最佳实践?

麹浩瀚
2023-03-14
  • 为了将视图(Ember应用程序)与服务器(Rails应用程序)完全分开,我希望使用令牌身份验证。我可能会在Rails服务器上使用Devise。
  • 在Ember应用程序中,我需要类似于before_filter的东西,在这里我可以检查是否有当前用户,以及该用户是否有身份验证令牌集。
  • Rails服务器将在每次调用时返回当前auth令牌。如果返回空auth令牌,Ember应用程序应该检测到这一点,并转换到未经身份验证的状态,重定向到登录视图。

我怀疑我应该使用一个成员状态机对此,但我不确定如何进行。有人解决这个问题了吗?

共有1个答案

萧奇
2023-03-14

更新:就像@DustMason在他的回答中所说的那样,查看一些令人敬畏的embercasts来获得最佳的认证实践。

  • 客户端身份验证第一部分
  • 客户端身份验证第二部分

为了将视图(Ember应用程序)与服务器(Rails应用程序)完全分离,我希望使用令牌身份验证。我可能会在Rails服务器上使用Devise。

如果返回空auth令牌,Ember应用程序应该检测到这一点,并转换到未经身份验证的状态,重定向到登录视图。

这种方法的问题在于(与rails不同),“保护”对特定ember路由的访问并不容易。无论什么情况,用户都可以弹出打开JS控制台并进入他们想要的任何状态。因此,与其认为“用户只有经过身份验证才能进入此状态”,不如考虑“如果未经身份验证的用户以某种方式导航到此路由怎么办”

我怀疑我应该使用一个成员状态机对此,但我不确定如何进行。有人解决这个问题了吗?

{{if isAuthenticated}}
  {{render "topnav"}}
  {{outlet}}
{{else}}
  {{render "login"}}
{{/if}}
App.ApplicationRoute = Ember.Route.extend({
  model: function() {
    var profiles;
    profiles = App.Profile.find({ alias: 'me' });
    profiles.on("didLoad", function() {
      return profiles.resolve(profiles.get("firstObject"));
    });
    return profiles;
  }
});
 类似资料:
  • 问题内容: 当使用Angular,Ember,React等框架构建SPA风格的应用程序时,人们认为什么是身份验证和会话管理的最佳实践?我可以考虑考虑解决该问题的几种方法。 假定API和UI具有相同的原始域,则对待它与使用常规Web应用程序进行身份验证没有区别。 这可能涉及到具有会话cookie,服务器端会话存储以及可能经过身份验证的Web UI可以访问以获取当前用户信息以帮助进行个性化甚至可能确定

  • 问题内容: 我是android移动开发的新手(Android Studio本机开发- 新知识)。在这里,我想问一个有关输入验证最佳实践的问题。据我们所知,开发人员何时开发输入表单。我们需要防止用户在文本字段中输入错误的内容。所以这是我的问题 我们可以只为验证目的创建一个Java文件吗?所有输入形式,都只能转到一个验证文件(如果一个应用中有许多输入页面屏幕)。如果 是 ,如何才能得到该技术为我学习学

  • 这里有些给使用和编写 Ansible playbook 的贴士. 你能在我们的 ansible-example repository.找到展示这些最佳实践的 playbook 样例.(注意: 这些示例用的也许不是最新版的中所有特性,但它们仍旧是极佳的参考.) Topics 最佳实践 接下来的章节将向你展示一种组织 playbook 内容方式. 你对 Ansible 的使用应该符合你的需求而不是我们

  • 处理后台任务与常规调用方法有很大的不同。本指南旨在帮助让您的后台任务平稳有效地运行。本文基于 这篇博客文章。 使任务参数小而简单 方法(任务)在调用之前会被序列化。使用 TypeConverter 类将参数转换为 JSON 字符串。如果您有复杂的实体和 / 或大对象; 包括数组,最好将它们放入数据库,然后只将其标识 (id) 传递给后台任务。 错误例子: public void Method(En

  • VR设计 VR设计不同于平面体验设计。作为一种新的媒介,有新的最佳实践需要遵循,特别是保持用户的舒适性和存在性。这在如下指南中已经写得很透彻了: Oculus VR最佳实践 Leap Motion VR最佳实践指南 一些值得注意的事情: 公共的金科玉律是永远不要意外地把相机控制权从用户手中剥夺。 单位(比如对于位置)应该考虑使用米(m)。这是因为WebVR API以米为单位返回姿势数据,进而传送给

  • 本章文档将阐述一些使用herosphp开发一些常用模块的一些比较好的实践。 未完待续。。。