- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我是 angularjs 的新手...
我阅读了文档,并完成了教程;我自己也尝试了其他东西,我开始明白了。
现在我想知道如何制作一个安全的身份验证系统。
简单的部分:没有代码,我将描述我的代码执行的操作:
I've a classic form: username, and password text input.
The user fills the form, and press ENTER.
An ajax request starts, and the response is a JSON telling me something like "ok i know you" or "i don't know who you are".
我现在需要的是在我的应用程序的不同 View 之间维护访问者的登录状态(或未登录)。
我在网上看到,为了达到这个目的,有人设置了一个变量($scope.isLogged = true),有人使用cookies;但是 javascript 变量和 cookie 可以使用 firebug 或类似的开发工具轻松编辑。
...最后是问题:
那么,您有什么建议可以在 angularjs 应用中实现安全的身份验证系统吗?
最佳答案
你不能在angularjs中授权任何东西,因为用户对执行环境(即浏览器)有完全的控制权。每张支票、案例、if——任何你能想到的——都可以被篡改。有一些 javascript 库使用非对称 key 执行本地加密以在某种程度上安全地存储本地数据,但它们并不是您要找的,真的。
你可以,而且你应该,授权服务器上的东西——你在普通应用程序中的标准方式——使用 session ;不需要特殊代码,ajax 调用使用普通 session cookie。应用程序不需要知道它是否经过身份验证。它只需要检查服务器的想法。
从您的 angularjs 应用程序的 Angular 来看,“登录”或“注销”对用户来说仅仅是一个 gui 提示。
关于javascript - 如何在 angularjs 应用程序中实现安全 (!) 身份验证系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14791361/
我是一名优秀的程序员,十分优秀!