我想根据登录的用户是否是管理员来添加功能,但我真的不知道应该使用哪个条件(对于带有删除按钮的条件渲染等)来检查用户是否是管理员。基于用户的id做这件事安全吗?首先,我想在每个组件中测试用户,我希望他有功能,有一个名为" user“的状态,使用recoiljs来访问整个应用程序中的用户,但我担心人们可能会使用react工具扩展更改状态,然后假装自己是管理员,因此删除文章和东西……在react项目中测试用户是否为管理员或不使用firebase身份验证的最佳方法是什么?
发布于 2020-08-18 04:38:38
在没有后端绝对强制的情况下,客户端代码承担管理职责是不安全的。这是不安全的,因为客户端代码可能会被破坏,并且可能不会以您期望的方式工作。它是在用户完全控制的设备上运行的。
客户端代码可以检查一些指示器,以查看用户是否为管理员(以任何您认为合适的方式),但最终检查需要发生在您的后端,通过安全规则(如果您使用的是Firebase产品,如Realtime Database、Firestore或Cloud Storage),或在运行在安全后端的代码中,包括Cloud Functions等产品。
https://stackoverflow.com/questions/63457965
复制相似问题