使用FormsAuthentication的跨域Cookies

 2023-02-16    335  

问题描述

我知道相关的安全风险并将其与业务相关联,但他们想拥有5个域名来共享登录cookie.

我们正在使用,并且没有计划停止使用ASP.NET成员资格和配置文件.这可能吗?甚至将不胜感激.

使用FormsAuthentication的跨域Cookies

推荐答案

不可能开箱即用的ASP.NET.

基于表单的身份验证基于cookie,cookie只能设置为特定域.

如果您想要真正的跨域(不是子域)共享身份验证,则需要在解决方案上进行单个符号.

我自己滚动了,它相对简单.基本原则是您拥有一个拥有您身份验证cookie(票)的主域.然后,您可以从所有其他域重定向到该域.这不是很漂亮,但是事件Microsoft Passport以这种方式工作.

您可以在网上找到很多示例,请查看以下两个链接:

身份验证cookies

Cross Domain Authentication

其他推荐答案

您可以将所有这些域名设置为公司的子域:

www.company.com
shop.company.com
sales.company.com
research.company.com
..

然后,您将能够将cookie设置为父域,并且所有子域都可以看到.

var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
cookie.Domain = ".company.com";
Repsonse.Cookies.Add(cookie);

问候,
马克斯·切尼霍夫
http://prontocoder.com

其他推荐答案

不仅是不可能的,而且根本不可能. cookie始终是特定于域的 – 没有其他任何其他方式可以使用商业浏览器.这是通过设计,非常必要以防止对饼干的广泛滥用.
Muerte将您指向正确的方向(单登录).

以上所述是小编给大家介绍的使用FormsAuthentication的跨域Cookies,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33867.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。