gpt4 book ai didi

c# - MapPageRoute routeUrl 根据特定请求点击 403

转载 作者:行者123 更新时间:2023-11-30 16:49:43 25 4
gpt4 key购买 nike

我目前在我的网站上使用 global.asax 进行页面路由。

除了我有以下代码:

//Home:
routes.MapPageRoute("intro", String.Empty, "~/Default.aspx");
routes.MapPageRoute("home", "home", "~/Default.aspx");

//EHBO:
routes.MapPageRoute("ehbo-overzicht", "ehbo/overzicht", "~/ehbo/overview.aspx");
routes.MapPageRoute("ehbo-input", "ehbo/input", "~/ehbo/input.aspx");
routes.MapPageRoute("ehbo-input-edit", "ehbo/inputedit/{itemid}", "~/ehbo/inputedit.aspx");

//Links:
routes.MapPageRoute("links", "links/links", "~/links/overview.aspx");

但是对于我想使用的链接:

//Links:
routes.MapPageRoute("links", "links", "~/links/overview.aspx");

但这对我不起作用。我收到以下错误:HTTP-fout 403.14 - 禁止

我在我的 map ehbo 上使用身份验证,但没有别的,web.config:

<!-- Authentication -->
<authentication mode="Forms">
<forms loginUrl="~/Login" name=".ASPXFORMSAUTH" defaultUrl="home">
</forms>
</authentication>
<authorization>
<allow users="*"/>
<deny users="?" />
</authorization>

<location path="ehbo">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

但我不认为这是问题所在。因为如果我不使用身份验证,我会遇到同样的错误。

有人知道答案吗?

最佳答案

问题是由您尝试路由的路径 /links 引起的,它也是应用程序根目录中的物理文件夹,在这种情况下,IIS 会选择使用静态文件处理程序,而不是让路由处理程序参与其中.在这种情况下,对 /links 的请求实际上是对/links 文件夹的内容请求列表,默认情况下通常会受到限制,并且会触发您看到的 403。而且我假设即使它没有被拒绝,也不会是您期望的行为。

解决此问题的一种蛮力方法是将其添加到您的 web.confg 中:

<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

这将强制在所有路径上运行所有模块,这通常会导致一些副作用,并且肯定会对站点范围内的性能产生一定程度的影响。

处理此类问题的更具体方法是在特定路径上指定处理程序,在您的情况下,您可以尝试将其添加到您的 web.config system.webServer -> handlers:

<handlers>
<!--all other removes-->
<add name="NameItProperly"
path="/links"
verb="GET,POST"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0" />
<!--all other adds-->
</handlers>

这只会强制路由处理程序跳入此特定路径 /links

关于c# - MapPageRoute routeUrl 根据特定请求点击 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36082077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com