C# .NET';安全';使用身份验证模式的Cookie=无

C# .NET';安全';使用身份验证模式的Cookie=无,c#,.net,C#,.net,在my web.config(IIS6.1 asp.net 4.0)中: 使用https浏览本地主机/任何东西都可以。所有请求都已成功完成。我的问题是,我得到的cookies没有设置“安全”标志。HTTP标志已设置 如何获取安全标志?我对IPrincipal的执行情况 谢谢。检查web.config元素是否也将requireSSL设置为true,因为该设置会覆盖元素设置并默认为false设置此属性会从serverclient发送“Secure”属性,指示客户端只能在使用SSL连接时将其传输回

在my web.config(IIS6.1 asp.net 4.0)中:


使用https浏览本地主机/任何东西都可以。所有请求都已成功完成。我的问题是,我得到的cookies没有设置“安全”标志。HTTP标志已设置

如何获取安全标志?我对IPrincipal的执行情况


谢谢。

检查web.config元素是否也将
requireSSL
设置为
true
,因为该设置会覆盖元素设置并默认为
false

设置此属性会从serverclient发送“Secure”属性,指示客户端只能在使用SSL连接时将其传输回

简而言之,您可以通过在SSL上运行ASP.NET应用程序来测试这一点。一种简单的方法是在Visual Studio中选择web项目>属性>将启用SSL设置为true

此外,OWASP具有良好的性能。在本文中,前面提到的安全属性的描述是可以理解的:

安全-此属性告诉浏览器仅在通过安全通道(如HTTPS)发送请求时发送cookie。这将有助于保护cookie不被未加密的请求传递。如果应用程序可以通过HTTP和HTTPS访问,那么cookie就有可能以明文形式发送


找到它-确实是requireSSL属性导致了这一点。但是,它是在应用程序的其他位置设置的(在一个sso.config文件中,它被设置为false,并重写了我在web.config中输入的内容)。

请查看此链接,在解决方案中的任何位置都不使用表单身份验证。谢谢。这就是答案。确实是requireSSL导致了这一点,但是设置被移动到了一个sso.config文件中——所以当我将它放在web.config中时,sso.config重写了它。感谢关于测试的链接!关于获取“安全”标志集所需设置的良好概述。
  <system.web>
    <authentication mode="None"/>
    <httpCookies httpOnlyCookies="true" requireSSL="true" />
  </system.web>