繁体   English   中英

重定向到登录页面时,asp.net/iis 不附加 ReturnUrl

[英]asp.net/iis is NOT appending a ReturnUrl when redirected to login page

Using Forms authentication in a traditional (not mvc) asp.net app, I can not get IIS or IIS-express (when debugging in VS2019) to append a ReturnUrl to the request querystring when it redirects to login.aspx. 因此 Request["ReturnUrl"] 总是 null。

几天来,我已经阅读了很多关于重定向不起作用的问题/答案,但它始终与身份验证后有关,而且我见过的没有人遇到过问题在哪里?ReturnUrl=/blah/blah/blah 甚至没有得到附加到 url 本身。

还阅读了用户希望不附加 ReturnUrl 的实例,这可能由 Global.asax 中的某些代码修复。 幸运的是,我希望我有这个问题,而不是一开始就没有得到 ReturnUrl!

我已经尝试了关于标签的所有 web.config 可能性; 指定/不指定 loginUrl 和 defaultUrl; 指定允许/拒绝及其所有组合我确实有一个 Global.asax 但它对于与请求相关的方法是空的。 我还研究了各种 IIS 设置,看看它是否是一个附加 returnUrl 的选项,但我没有找到任何暗示该选项的东西。

The latest basic entry I tried:

<authentication mode="Forms">
  <forms timeout="120" slidingExpiration="true" />
</authentication>
<authorization>
  <!--<deny users="?"/>-->
  <allow users="*"/>
</authorization>

我还应该补充一点,我使用的是自定义成员资格提供程序,而不是默认的 asp.net 成员资格提供程序。 虽然不确定在 IIS 中附加/不附加 ReturnUrl 是否重要,但你永远不知道......

<membership defaultProvider="LegacyDBMembershipProvider">
  <providers>
    <remove name="AspNetSqlMembershipProvider"/>
    <add name="LegacyDBMembershipProvider" someothertags... />
  </providers>
</membership>

I would like to have IIS redirect me to login.aspx (as it does) but have the Url look like: http://localhost:21542/MyWeb/Login.aspx?ReturnUrl=/MyWeb/RequestedPage.aspx instead of just: http://localhost:21542/MyWeb/Login.aspx

以便在身份验证后我可以将用户重定向到最初请求的页面。

感谢您的时间和考虑。

谢谢白兰度,瓦兹和所有花时间阅读我的问题的人。 显然它归结为 [allow users=" "/> 标签本身。 无论我在它之前或之后是否有 [deny users> 任何地方。 我不确定为什么如果我只有 [allow users=" "/> (并且没有拒绝标签)它甚至仍然强制登录页面(我想要的)但它确实并且没有附加 ReturnUrl。 因此我的问题。 但是在删除任何 [allow> 标记(我尝试使用单个用户、组、* 等)之后,奇迹发生了,我得到了一个 ReturnUrl。 它也可能与未在 [forms> 标记中提供 defaultUrl 属性有关。 我以为我已经尝试了所有组合,但显然没有。

无论如何,我将做更多的研究,以了解为什么它会以这种方式工作,并且我会发布我可以获得的任何信息以供后代使用,但现在我只是头晕目眩,因为我在查询中附加了 ReturnUrl细绳。 再次感谢大家。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM