401 Unauthorized:由于凭据无效,访问被拒绝

jav*_*015 66 iis asp.net-mvc http-status-code-401 form-authentication

我正在使用IIS Express来部署MVC4应用程序.该网站在同一台计算机上运行完美.但在Lan,它给了我错误401.

<authentication mode="Forms">
    <forms loginUrl="~/" slidingExpiration="true" timeout="20">
    </forms>
</authentication>
Run Code Online (Sandbox Code Playgroud)

在家庭控制器

[HttpPost]
[AllowAnonymous]        
public ActionResult Index(LoginModel model, string returnUrl)
{
}
Run Code Online (Sandbox Code Playgroud)

我在管理员模式下从命令提示符启动IIS服务器.IIS以错误响应请求401.

任何线索?

ctc*_*ctc 174

我意识到这是一个较旧的帖子,但我在IIS 8.5上有同样的错误.希望这可以帮助另一个人遇到同样的问题(我没有看到我的问题在其他类似标题的问题中列出).

似乎使用应用程序池标识正确设置了所有内容,但我仍然收到错误.经过大量挖掘后,匿名用户可以使用应用程序池标识或特定用户的凭据进行设置.无论出于何种原因,我的默认用户都是默认用户.将设置更改为App Pool Identity可以解决我的问题.

  1. IIS管理器→站点→网站
  2. 双击"身份验证"
  3. 选择匿名身份验证
  4. 从"动作"面板中,选择"编辑"
  5. 选择Application pool Identity并单击ok

希望这能节省别人一些时间!

  • 也允许在".net授权规则"中 (5认同)
  • 以防万一这不适合你,让我搞砸的是我删除了iisstart,我创建了一个default.htm,但是default.htm确实是default.htm.txt,因为微软喜欢谎报事情和那个服务器隐藏了文件扩展名.感谢微软如此蹩脚. (4认同)
  • 正如许多答案拯救了我的培根一样,我希望我可以多次提升 (4认同)
  • 启用Windows身份验证时发生了什么 (3认同)

Sur*_*tha 29

如果您使用的是IIS 7,请执行以下操作:

  1. 选择您的网站.
  2. 单击错误页面.
  3. 编辑功能设置.
  4. 选择详细错误.

请享用.


小智 14

我在 IIS 10 上遇到了这个问题。这就是我修复它的方法。

  1. 打开IIS
  2. 选择站点
  3. 开放认证
  4. 编辑匿名身份验证
  5. 选择应用程序池身份


tes*_*der 11

确保您在iis上启用了匿名身份验证,如下所示:

在此输入图像描述


Ste*_*eve 11

如果有人还在寻找这个,这解决了我们的问题:

对于这可能有所帮助的人来说,这拯救了我的生命......

IIS 7很难弄清楚为什么我得到401 - 未经授权:由于凭证无效而拒绝访问......直到我这样做...

  1. 打开IIS并选择导致401的网站
  2. 打开"IIS"标题下的"身份验证"属性
  3. 单击"Windows身份验证"项,然后单击"提供者"
  4. 对我来说,问题是谈判高于NTLM.我假设在幕后发生了某种握手,但我从未真正认证过.我把NTLM移到了最顶端的位置,并修复了它的BAM.

这是找到它的链接.


poo*_*raj 7

我意识到这是一个古老的问题,但这在我的搜索中出现了.对于最近构建的MVC应用程序有一个类似的问题,第一次部署,并且身份验证机制没有完全消失.

在我的情况下,它不是IIS设置,它是一个没有[AllowAnonymous]装饰的控制器.我在Layout.cshtml中使用了Render.Action/Html.Action,用户未经身份验证.因此,布局尝试在UnAuthenticated上下文中加载经过身份验证的操作.

一旦我将动作更新为AllowAnonymous,问题就消失了,这就是我的成功.

希望这有助于某人.