【问题标题】:Sharing asp.net authentication on different apps on different sub-domains在不同子域的不同应用程序上共享 asp.net 身份验证
【发布时间】:2011-01-20 00:16:15
【问题描述】:

我有 2 个应用程序。一个在 asp.net webforms main.test.com 上,它应该提供身份验证,用户登录,我可以使用 cookie 在我位于 myApp.test.com 的 asp.net mvc 应用程序上进行身份验证。

我想做的就是访问 cookie,这样我就可以使用 FormsAuthentication 获取存储在其中的 userId。

他们使用微软提供的普通身份验证;

 <authentication mode="Forms">
     <forms domain="test.com" loginUrl="Default.aspx" protection="All" path="/" requireSSL="false" timeout="45" name=".ASPXAUTH" slidingExpiration="true" defaultUrl="Default.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>
 </authentication>

test.com 上的任何子主网都应该可以访问此 cookie,对吧?

【问题讨论】:

    标签: asp.net asp.net-mvc


    【解决方案1】:

    确保您在每个应用程序中设置您的机器密钥,以便它们可以相互解密彼此的数据。 http://msdn.microsoft.com/en-us/library/ff649308.aspx

    然后确保您在每个中都设置了相同的 cookie 名称和路径。工作完成,在任一应用程序中生成的身份验证票应跨越它们 http://msdn.microsoft.com/en-us/library/ff647070.aspx

    编辑:忘记了一点: 在您的网络配置中,还将 httpCookies 节点的域属性设置为 test.com

    【讨论】:

      【解决方案2】:

      在表单标签中添加

      domain=".test.com"
      

      【讨论】:

      • 如果我只需要从一个中读取 cookie,我不想设置它。
      • 我没有关注你想对两个站点使用相同的身份验证还是不同的身份验证?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 2015-04-20
      相关资源
      最近更新 更多