我的任务是保护Kentico 11网站(11.0.47)。具体来说,我必须为.ASPXFORMSAUTH cookie设置安全标志。
阅读文档,我修改了web.config:
<forms loginUrl="CMSPages/logon.aspx"
defaultUrl="Default.aspx"
name=".ASPXFORMSAUTH"
timeout="60000"
slidingExpiration="true"
requireSSL="true" />
我还补充说:
<system.Web>
<httpCookies httpOnlyCookies="true" requireSSL="true">
</system.Web>
没有运气。我也尝试将lockItem =“true”属性添加到httpCookies元素,但这破坏了Kentico Admin应用程序。一些cookie得到保护,但.ASPXFORMSAUTH没有。
我们最近遇到过这个问题。
如上面评论中所述,在Application_EndRequest中设置cookie以保证安全也没有帮助。
唯一允许我们将cookie设置为ssl的是在web.config文件中更改auth cookie的名称。这不应该破坏任何其他现有功能。
这样的事情应该有效:
<forms loginUrl="CMSPages/logon.aspx"
defaultUrl="Default.aspx"
name=".ASPXFORMSAUTHENTICATION"
timeout="60000"
slidingExpiration="true"
requireSSL="true" />
我们仍然不确定为什么会这样,但它确实解决了这个问题。