我试图弄清楚使用基于会话ID的身份验证与基于cookie的身份验证的优缺点
据我所知,基于cookie的身份验证
基于会话的身份验证
问题
有什么理由比较喜欢一个吗?基于cookie的安全性是否较低(即使您对其进行加密和签名)?会话的性能是否因为在每次调用期间到达数据库而变得更糟?我看过几个网站倾向于某种方式,但无法清楚地了解使用何种方法。任何讨论/建议将不胜感激。
答案 0 :(得分:7)
我很难消化这个问题。据我所知,基于表单的身份验证有两种形式:cookie和cookieless。基于Cookie的身份验证是首选。
在基于cookie的版本中,用户获得一个coookie,其值是加密的Forms Authentication Ticket。 cookie在服务器上加密。除非加密密钥是从machine.config共享或在Web.config中重写的,否则cookie只能由发出它的服务器解密。我相信加密是AES,非常安全。
在无cookie方法中,使用HTTPModule将cookie的有效负载放入url中。此方法仅在设备不支持cookie时使用(很少见)。无cookie的方法不是首选 - 它使AJAX更加困难。
请参阅:
http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx
和