Asp.net Azure托管网站-FormsAuthentication未路由到defaultUrl
我的Web.Config中有以下设置:Asp.net Azure托管网站-FormsAuthentication未路由到defaultUrl,asp.net,azure,forms-authentication,Asp.net,Azure,Forms Authentication,我的Web.Config中有以下设置: 在locahost上进行测试时,这会正确重定向,但在发布到Azure时,登录只会重定向到http://mysite.azurewebsites.net/ 而不是http://mysite.azurewebsites.net/Member/Dashboard.aspx 如Web.Config中所述。然而,有趣的是,如果在没有正确登录的情况下尝试导航到某个页面,则会重定向到定义的loginUrl=Landing/Login.aspx。在这种情况下,我应该为de
在locahost上进行测试时,这会正确重定向,但在发布到Azure时,登录只会重定向到http://mysite.azurewebsites.net/ 而不是http://mysite.azurewebsites.net/Member/Dashboard.aspx 如Web.Config中所述。然而,有趣的是,如果在没有正确登录的情况下尝试导航到某个页面,则会重定向到定义的loginUrl=Landing/Login.aspx。在这种情况下,我应该为defaultUrl使用FQDN吗?是否未在my Azure服务器的IIS上设置表单身份验证?请告知。当用户被重定向到登录页面时,您是否在url中看到ReturnUrl?比如说@plentysmart是的,我明白了http://mysite.azurewebsites.net/Landing/Login.aspx?ReturnUrl=%2fMember%2fDashboard.aspx 尝试导航到身份验证后的页面时。只有在没有ReturnUrl时才使用defaultUrl,这就是为什么在浏览此页面时不记录ReturnUrl与defaultUrl相同。请参阅:如果请求中不包含返回URL,则RedirectFromLoginPage方法将使用DefaultUrl属性。类似地,如果请求中不包含返回URL,则GetRedirectUrl方法将返回DefaultUrl。不确定这是否是您的情况,我只是试图消除明显的问题。@plentysmart我目前正在使用FormsAuthentication.RedirectFromLoginPage进行身份验证时重定向。这不是应该用来重定向到defaultUrl的方法吗?请看:RedirectFromLoginPage方法使用ReturnURL变量名重定向到查询字符串中指定的URL。例如,在URL中,RedirectFromLoginPage方法重定向到返回URL caller.aspx。如果ReturnURL变量不存在,RedirectFromLoginPage方法将重定向到DefaultUrl属性中的URL。
<authentication mode="Forms">
<forms loginUrl="Landing/Login.aspx" defaultUrl="~/Member/Dashboard.aspx">
<credentials passwordFormat="SHA1"></credentials>
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>