来自远程服务器的AngularJS身份验证

时间:2014-10-19 18:59:03

标签: javascript angularjs

我正在考虑使用Angular和远程服务器进行身份验证的方法。通常我在本地服务器上做的事情,就像他们在MEAN.IO中所做的那样,检查是否有用户,是否将它放在全局窗口上,这就是我知道用户是否经过身份验证的方式。

例如在laravel:

  @if(Auth::check())
        <script>
            var user= [[[Auth::user()]]]
        </script>
        @endif

并且它在刷新后仍然存在,因为我也在运行时检查它。

但现在服务器是远程的,我必须做一些事情,比如获取一些url / getUser的请求。但是,自从AngularJS以来,这并不好 组件必须等待响应返回导致不一致和 发展开销。

那我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用&#34;解决&#34;为了避免改变你当前的逻辑。

定义执行检查的安全服务,让我们说Security.getUser()并将其添加到您需要保护的每条路由的解析中。这样,只有在用户被检查后才会加载您的控制器。如果服务器将返回身份验证错误,请重定向到登录屏幕。

你可以从我给出的安全角度讲话中查看我的幻灯片goo.gl/kMvoFj 或者浏览我的github存储库(它仍然非常原始,但主要的想法就在那里)ng-secure,我认为它可能对你有帮助。