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

AngularJS authentication from remote server

本文关键字:AngularJS 身份验证 服务器      更新时间:2023-09-26

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

例如在laravel:中

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

它能在刷新后幸存下来,因为我在运行时也会检查它。

但现在服务器是远程的,我必须做一些事情,比如向一些url/getUser发出请求。但这并不好,因为所有的AngularJS组件将不得不等待响应返回,从而导致不一致和开发开销。

那我该怎么办?

您可以使用"resolve"来避免更改当前逻辑。

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

你可以从我给goo.gl/kMvoFj的一次安全的角度演讲中查看我的幻灯片或者查看我的github存储库(它仍然很原始,但主要思想已经存在),我认为它可能会对你有所帮助。