我在 HTTP Body
中发送用户名和密码,以对 Web API
中的每个 controller action
进行身份验证。我使用用户名/密码在每个 Controller 中进行身份验证。它使用 SSL
。
在 HTTP Header
中发送 authentication credentials
比在 HTTP body
中发送更好,是否有任何安全原因?
如果我使用的是 Basic Authentication
,我可以看到在 header 中有凭据是多么必要,如 this question但我不是,所以我看不到目的。只要使用 SSL
,它似乎在任何一种情况下都一样安全。
最佳答案
从 SSL 的角度来看,HTTP 请求的 header (HTTP 基本身份验证)或正文(例如基于表单的登录)中的凭据的安全性是相同的。
但是,如果客户端是常规网络浏览器,您应该考虑以下事项:
浏览器会缓存用于 HTTP 基本身份验证的凭据,用户通常会面临执行注销时必须关闭浏览器的问题。
另一方面,基于表单的登录通常会创建一个 session cookie,该 cookie 有时间限制并且可以随时删除。
关于http - Web API - HTTP header 中的身份验证凭证与使用 SSL 的正文中的身份验证凭证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30675836/