这应该很简单,但我不知道我错过了什么。
我正在跨子域使用表单身份验证,
我有一个父域parent.com
和两个子域portal.parent.com
和auth.parent.com
。 auth.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
但在我的案例中并没有特别的帮助。
由于
答案 0 :(得分:0)
我得到了Forms Authentication ReturnUrl and subdomain for single sign-on ,这解决了我的问题。
我不确定这是否是最好的方法。