我在HTTP Body
中发送用户名和密码,以便对controller action
中的每个Web API
进行身份验证。我使用用户名/密码在每个控制器中进行身份验证。它正在使用SSL
。
是否有任何安全原因,为什么最好在authentication credentials
中发送HTTP Header
而不是HTTP body
?
如果我使用Basic Authentication
,我可以看到如何在this question中使用标题中的凭据,但我不是这样,我看不到目的。只要它使用SSL
,它似乎同样安全。
答案 0 :(得分:2)
从SSL角度来看,HTTP请求的标头(HTTP Basic auth)或正文(例如基于表单的登录)中的凭据安全性相等。
但是,如果客户端是常规Web浏览器,则应考虑以下事项:
浏览器缓存用于HTTP基本身份验证的凭据,用户通常会面临执行注销的问题,他们必须关闭浏览器。
另一方面,基于表单的登录通常会创建一个时间限制的会话cookie,并且可以随时删除。