http - Web API - HTTP header 中的身份验证凭证与使用 SSL 的正文中的身份验证凭证?

标签 http authentication ssl asp.net-web-api

我在 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/

相关文章:

ios - AFHTTPClient 将授权 header 字段设置为 "Token token='\75845hjhrtje84539574 8' "但我只想成为里面的 token

java - 收到致命警报 : handshake_failure : javax.net.ssl.SSLHandshakeException

javascript - 处理图片较多的网页

javascript - 带有摘要式身份验证的 Swagger UI

java - 将证书添加到 keystore 和信任库

android - 防止 Android 包装器访问网站

java - 在这种情况下应该定制哪个认证层?

security - 需要通过带有 spring security 的 https 进行身份验证吗?

tomcat - 使用 AWS Load Balancer 和 tomcat 6 实例切换到 HTTPS 时 session 失效

asp.net-mvc-3 - 在没有主机头的 IIS 7 上设置通配符 SSL 证书