【发布时间】:2011-06-24 08:12:25
【问题描述】:
现在看来,基于 cookie 的身份验证是需要登录凭据的 Web 服务的明确选择。
但是,如果您正在开发一个 Web 服务,其中客户端不是浏览器,而是通过 HTTP 访问资源的客户端软件(例如移动应用程序),您会使用 HTTP 身份验证还是 cookie 身份验证?
HTTP 身份验证:
- Web 服务器处理身份验证,因此在需要时更容易更改 Web 应用平台
- 自动应用于非代码资源(例如 JPG、XML 等)(问:有没有办法通过基于 cookie 的身份验证来做到这一点?)
- 更难将数据库存储的凭据与服务器身份验证 (.htaccess/.htpasswd) 集成
Cookie 验证:
- 细粒度的访问控制(代码资源可以根据凭据做出不同的响应)
- 控制会话过期(通过 cookie 过期)
- 完全控制用户登录体验
我还遗漏了哪些其他注意事项?还有其他优点/缺点吗?
【问题讨论】:
-
如果对这两种身份验证之间的安全性感兴趣,请阅读:stackoverflow.com/questions/5052607/cookies-vs-basic-auth/…
标签: apache http cookies authorization