认证与授权
认证回答"你是谁",授权回答"你能做什么"——两个问题缺一不可。
这两个词有什么区别?
它们经常一起出现(合称"Auth"),但解决的是两个不同的问题。
认证是第一步:用户通过输入用户名和密码、扫描指纹、或使用第三方账号(如"用 Google 登录")来证明自己的身份。系统核实之后,才知道"这个请求来自张三"。
授权是第二步:知道了你是张三之后,系统还要判断张三有权做哪些事。普通用户只能看自己的数据,管理员可以看所有人的数据——这就是授权在起作用。
在你的项目里会怎么出现?
几乎所有需要"登录"的应用都涉及认证与授权。当 AI 帮你搭建一个用户登录系统时,它通常会推荐使用现成的认证服务(如 Supabase Auth、Firebase Auth 或第三方库),而不是从零开始自己写——因为认证系统涉及密码加密、会话管理、防暴力破解等大量安全细节,自己写非常容易留下漏洞。
有什么需要注意的?
不要把认证和授权混为一谈。一个用户能登录系统(通过了认证),不代表他能访问所有数据(还需要通过授权检查)。此外,密码永远不能以明文存储——必须经过哈希处理。如果 AI 生成的代码把密码直接存进了数据库,那是一个严重的安全问题,需要立即修正。
也叫
AuthenticationAuthorizationAuth身份验证登录系统鉴权
和谁相连
参见