angular - Angular的身份验证系统(没有登录页面的企业网站)
问题描述
嘿,我们为公司建立了一个企业网站。
当公司中的某个用户连接到该站点时,他有一个用户 ID。
当 id 从客户端发送到后端(Node.JS)时,我检查这个 id 是否在我的网络上,如果他在,他会得到一个访问令牌。
问题是,在他获得访问令牌后,客户端中的用户需要再次重新加载页面以获得访问权限,如果他不刷新页面,“Auth-Guard”会阻止他。
在客户端处理这样的系统的最佳实践是什么?
解决方案
有很多方法可以解决这个问题。
第一,如果您不希望服务即时回复令牌,那么您可以使用某种服务器推送技术(SignalR 是 .Net 解决方案,我确信节点 js 中有一个等价物)。
2当客户端发送ID时,为什么不发送令牌作为回复?获取后,将其保存在服务中并在本地缓存。然后,当执行守卫时,从服务中获取最新值并执行验证。
请提供更多有关这方面的信息。
我的建议是使用一些已知且经过验证的身份验证方法,例如 oauth 2 或 openid connect 从您的身份提供者那里获取令牌。
在做任何其他事情之前,我建议您检查oauth2 的隐式盛大方法,这是使用单页应用程序身份验证的推荐方法。
其他安全问题
- 请注意,如果客户 ID 是可猜测的,那么人们可能会冒充他人,从而使您的水疗中心变得不安全。
- 使用 ldap authentication检查这个角度。Active Directory 通常是验证企业用户的最佳方式,因为它不基于易于绕过的客户端代码。
推荐阅读
- javascript - 搜索/过滤从文本文件创建的 Javascript 数组
- hibernate - 从实体中删除所有记录后,休眠将 id 重置为 1
- c# - 使用库中的自定义方法从 C# 中的 App.config 获取所有对(键、值)
- html - Selenium 无线电输入返回元素不可交互
- javascript - 使用 setInterval 添加多个函数后,Javascript 冻结
- mongodb - 如何使用 MongoDB 中的另一个数字字段更新数字字段
- sapui5 - JSONModel loaddata 在 http 正文中发布数据
- ruby-on-rails - Ruby on rails:我应该在哪里以及如何定义用于生成文件的输出文件夹?
- android - Unity SignReleaseBundle 失败
- python - 目录递归只深入一个目录