是否有一种方法可以强制仅在满足某些条件时才启动基于ASP.NET(.NET Framework 4.8,MVC 5)基于cookie的会话(将Set-Cookie
HTTP标头发送到客户端)。
问题的背景与欧盟的数据隐私法有关。在允许应用程序(网站)操作(初始化,发送,接收)此类数据之前,用户已经/应该明确允许使用cookie。但是,这个问题只是关于技术实施的问题。并非关于法规或其他手段的观点或“事实”。
没有Cookie(或用户身份证明)的网站运行情况也很好。但是,有一个特殊区域需要cookie。仅当用户同意Cookie(用户同意)并进入特殊区域(登录页面)时,用户才应该收到cookie。另一方面,当用户的浏览器将cookie发送到ASP.NET应用程序时,该应用程序应该能够处理它。
我如何限制发送Set-Cookie
HTTP标头,使其仅以编程方式“允许”发送(例如,用户已同意并在登录页面上)。
答案 0 :(得分:1)
在这种情况下,这取决于您所说的ASP.NET(我知道,命名很糟糕)。
ASP.NET Core MVC 2.1具有对此功能的支持,该功能内置了同意的思想,您可以将cookie标记为必要或非必要,然后,如果没有同意,则为非必要。 Cookie永远不会写出响应。 MVC模板是内置的,它的示例代码为documented。
对于其他版本的ASP.NET(Core MVC,非Core MVC或WebForms的先前版本),没有内置任何内容,您必须自己滚动它。