Aurelia Security - 身份验证&授权

时间:2016-09-07 17:21:24

标签: aurelia aurelia-router

这些是一些常见问题,可以真正看到使用Aurelia检测身份验证和授权的不同实现。所有这些都是在安全的后端服务环境中发言。

  1. 假设您正在使用服务器的cookie身份验证。您如何确认Aurelia中的cookie向用户显示他们已登录?

  2. 在Aurelia文档(见here)中,我们可以看到以下内容:

    class AuthorizeStep {
      run(navigationInstruction, next) {
        if (navigationInstruction.getAllInstructions().some(i =>                     
          i.config.settings.roles.indexOf('admin') !== -1)) {
            var isAdmin = /* insert magic here */false;
            if (!isAdmin) {
              return next.cancel(new Redirect('welcome'));
            }
        }
    
        return next();
      }
    }
    

    /* insert magic here */对你来说是什么样的?它应该是什么样的?

1 个答案:

答案 0 :(得分:1)

我目前正在处理的应用程序在登录时从服务器请求令牌。使用XHR的路线。如果此请求成功,并且从后端收到令牌,则令牌存储在cookie中,我们将路由从登录页面路由到应用程序的主要内容。然后我们可以设置一个全局变量' loggedIn'显示用户已登录等。每当我们通过XHR向后端发出进一步请求时,我们会发送带有请求的令牌。

魔法'在授权步骤中只是一些逻辑,用于检查用户是否已登录,或者在上面的示例中是管理员。

这可能只是一个全局标志(我想象可能被绕过),或者是服务器的实际请求,它验证所持有的cookie是否有效。