asp.net表单跨子域的身份验证

时间:2011-08-21 21:48:16

标签: asp.net asp.net-mvc-3 form-authentication

这应该很简单,但我不知道我错过了什么。

我正在跨子域使用表单身份验证,

我有一个父域parent.com和两个子域portal.parent.comauth.parent.comauth.parent.com是身份验证网站。

当未经验证的用户访问portal.parent.com/site时,他们将被重定向到auth.parent.com/Account/LogOn?ReturnUrl=%2fsite,成功登录后,他们会被重定向到auth.parent.com/site,并且问题就出现了。我原本希望被重定向回portal.parent.com/site

我在两个网站上的配置

portal.parent.com/site web.config

<authentication mode="Forms">
  <forms loginUrl="http://auth.parent.com/Account/LogOn" enableCrossAppRedirects="true" domain=".parent.com" timeout="2880" />
</authentication>

auth.parent.com/site web.config

 <authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" enableCrossAppRedirects="true" domain=".parent.com" timeout="2880" />
</authentication>

除了返回网址,验证工作正常,即如果我回到portal.parent.com/site,我可以看到用户经过身份验证,我可以访问身份信息。

我正在阅读这个问题Forms Authentication across Sub-Domains

但在我的案例中并没有特别的帮助。

由于

1 个答案:

答案 0 :(得分:0)

我得到了Forms Authentication ReturnUrl and subdomain for single sign-on ,这解决了我的问题。

我不确定这是否是最好的方法。