.net - 反 spy 软件删除的单点登录 cookie

标签 .net cookies single-sign-on spyware

我们为一系列网站提供了单点登录实现,其中身份验证 cookie 来自根域(例如 bar.com),允许它们登录到子域(例如 foo.bar.com)。该实现在 C# 中使用标准 .net 表单例份验证。
不幸的是,我们的一些用户的身份验证 cookie 被反 spy 软件删除。通过使用 PC Tools Anti Spyware 和 IE8,我已经能够重现这种情况。
实际结果是用户登录网站,导航到另一个页面,然后被要求再次登录。
该 cookie 被反 spy 软件标记为低风险跟踪 cookie。
有什么方法可以让 cookie 更适合我们用户的反 spy 软件显然相当挑剔的口味?
更新:
我已经查看了领先的“。”问题,这是一个红鲱鱼。 IE Doesn't care而且,正如我通过 this post 发现的那样, RFC 2965 Specification要求实现者提供前导点。
进一步阅读将我引向文章 "Privacy alert: Cookie variants can be used to skirt blockers, anti-spyware tools" .从本质上讲,许多网站都使用子域作为隐藏跟踪 cookie 的一种方式。
看起来一些反 spy 软件会尊重 P3P (Platform for Privacy Preferences)父域上的声明。不幸的是,由于缺乏浏览器实现者的支持,P3P 的工作已经暂停。
在这个阶段,我认为问题的解决方案将像一位用户建议的那样:子域将需要创建自己的身份验证 cookie。

最佳答案

您可以检查 SAML SSO 协议(protocol)规范中的默认传输以获得更多想法。所有文档的存档都在这里 http://docs.oasis-open.org/security/saml/v2.0/saml-2.0-os.zip查看“断言和协议(protocol)”以获取协议(protocol)描述和“绑定(bind)”以获取可能的传输(特别是在重定向和 POST 时)。

常见的想法是,如果当前用户已通过身份验证,则以某种方式查询 SSO 服务器,然后使用自己的 cookie 缓存该状态。这样,每个应用程序只在自己的域上设置 cookie。

关于.net - 反 spy 软件删除的单点登录 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2277232/

相关文章:

c# - 在 C# 中将 while 循环与 Task.Run() 相结合

firefox - 配置 Firefox 3.0.x 以发送 Kerberos token

java - 在可用时,通过 Active Directory 使用单点登录进行身份验证的最佳方法是什么?

c# - Entity Framework 4,将一个 edmx 文件的上下文扩展到另一个 edmx 文件的上下文

.net - Entity Framework 无法先生成数据库 EDMX

.net - 将 Entity Framework 代码属性映射到数据库列(C 空间到空间)

javascript - Django 不为 AngularJS 前端提供 CSRF token

cookies - 无法解析 __utmz cookie

macos - Google Chrome Cookie存储

java - CAS服务器未返回任何响应