localhost上多个项目中的Asp.net标识SSO
本文关键字:Asp net 标识 SSO 项目 localhost | 更新日期: 2023-09-27 17:59:13
我有一个包含3个网站的Visual Studio解决方案。每个网站都是实时服务器上的一个子域。登录网站正在使用新的基于声明的OAuth身份验证。
因此:
Website A = Admin (admin.domain.com)
Website B = Identity Portal for logins (login.domain.com)
Website C = Normal visitor website (www.domain.com)
通过将网站B上的身份验证cookie指定为子域".domain.com".,这在实时服务器上运行得很好
我的问题是,如果我在Visual Studio中运行该项目,我如何登录网站B并通过网站A和C保持登录?(我不能将cookie设置为localhost,因为它们都使用自己的端口,例如localhost:2245。)
我也不想在网站A和C上创建单独的登录表单,只用于Visual Studio调试。
在hosts文件中编写站点(c:''Windows''System32''drivers''etc''hosts)像这样:
127.0.0.1 admin.domain.com
127.0.0.1 login.domain.com
127.0.0.1 www.domain.com
您可以使用任何域名(非真实域名)。然后像往常一样配置IIS绑定(一个网站的所有3个名称),您将能够在浏览器中打开所有这些"虚拟"网站,拥有不同的cookie等。为此,您需要完整的IIS,而不是IIS express。