-->

MVC行动将返回401错误(Mvc action returns 401 error)

2019-10-17 17:04发布

这是一个奇怪的一个。 当我到了这一点,他们总是有。

我有一个MVC应用程序。 这是一个单一的网页应用程序,以便所有路由都Ajax调用,但我不认为这是相关的。

奇怪的是,突然一个特定页面已经开始给我一个401和提示creds。 其实它是在这个MVC区两个页面。 它只是做它在QA没有本地,所以我不能调试。 它只去年推后启动。 其他页面都没有在做这一点。

所以,我比较了一个成功的页面,并通过小提琴手报头中的401页的网站上。 完全刻着相同,除了网址。 行动

对于401的动作

public ActionResult Display_Template(ViewModel input)
{
    return this.View("Display", new TasksByFieldViewModel());
}

为200

public ActionResult AddUpdate_Template(ViewModel input)
{
    return View("VendorAddUpdate", new VendorViewModel());
}

唯一的变化是这一点,这是没有意义的。

从401页,我重定向到上有一个一个的ReportViewer的aspx页面。 但是,你必须点击一个按钮,那么你超过window.locationed。 它不可能有什么这一点。

第二个是,我从SQLSERVER审判升级到SQLSERVER质量保证服务器的标准配置。

这就是我得到的。 完全糊涂。

任何想法将是巨大的。

谢谢,

RAIF


编辑\修复\哈克:

确定好这要么是混淆或激怒。 这是为时过早。

我的MVC区,即是打破了一个,那么它被命名为“报告”,因为,嗯,这是充满了报告。 做一些万福玛利亚测试后,我改变了该地区的名字Reportsx,现在它就像一个梦。 正如我当然从来没有告诉过堆栈的任何部分,要求凭据,如果区域名称是报告我只能假设,有一些IIS设置或设置MVC,说如果URL是XXX /报表然后要求creds。

我接受不同的观点。

Answer 1:

如果系统在哪里,你的工作是类似的一个,我的工作,然后当你说“在QA”你的意思是你把你的代码,测试人员在捅的服务器上。 现在,当我第一次从这里开始,我被告知要离开某些现有的配置文件,我发现他们在此服务器上,因为变化将介绍的东西都是我机器上,打破常规。 我猜你也有类似的政策,因此部署了新的一页到服务器,但独自离开该服务器的Web.config。 然而,在Web.config中,有看起来像这样段的整个列表:

<location path="something">
    <formsAuthenticationWrapper enabled="false"/>
    <system.webServer>
        <security>
            <authentication>
              <windowsAuthentication enabled="true"/>
              <anonymousAuthentication enabled="false"/>
            </authentication>
        </security>
    </system.webServer>
    <system.web>
        <authorization>
            <allow users="?"/>
        </authorization>
    </system.web>
</location>

其中“东西”在第一线的路径值可以像“资产/ CSS”或类似“的Login.aspx”页面的路径。 你会注意到,有一个为身份验证模式的各种设置。

现在,如果QA服务器上的Web.config提到所谓的“报告”,并指定它需要特定的验证模式,则未能提供合适的凭据,该模式将导致401更改名称为“Reportsx”可能只是意味着它不再能找到匹配的条目,所以回落到一个默认的模式,这显然让四川人民。

因此,尝试检查服务器的部分提到“东西/报告的” web.config,看看他们AUTH所需要的。



文章来源: Mvc action returns 401 error