401未经授权:由于证书无效,访问被拒绝

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

<authentication mode="Forms"> <forms loginUrl="~/" slidingExpiration="true" timeout="20"> </forms> </authentication> 

在家里的控制器

 [HttpPost] [AllowAnonymous] public ActionResult Index(LoginModel model, string returnUrl) { } 

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

任何线索?

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

似乎一切正常与应用程序池标识设置,但我继续收到错误。 在深入挖掘之后,匿名用户可以使用应用程序池标识的凭据或特定用户的设置。 无论出于何种原因,我的默认为特定用户。 将设置更改为“应用程序池标识”解决了我的问题。

  1. IISpipe理器→站点→网站
  2. 双击“身份validation”
  3. select匿名身份validation
  4. 从“动作”面板中select“编辑”
  5. select应用程序池标识并单击确定

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

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

  1. select您的网站。
  2. 点击错误页面。
  3. 编辑function设置。
  4. select详细的错误。

请享用。

确保你启用了对iis的匿名authentication:

在这里输入图像说明

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

对于这可能有帮助的人来说,这救了我的命。

IIS 7很难找出为什么我得到了401 – 未经授权:访问被无效的凭据被拒绝…直到我这样做…

  1. 打开IIS并select导致401的网站
  2. 打开“IIS”标题下的“身份validation”属性
  3. 单击“Windows身份validation”项目,然后单击“提供程序”
  4. 对我来说问题是谈判高于NTLM。 我认为幕后有一些握手,但我从来没有真正的authentication。 我把NTLM移到了最上面的位置,而BAM修正了它。

这是发现这个地方的链接 。

我意识到这是一个古老的问题,但这是在我的search中出现的。 对于最近构build的MVC应用程序,第一次部署也有类似的问题,并且authentication机制没有完全散列。

这不是我的情况下的IIS设置,它是一个不是[AllowAnonymous]装饰的控制器。 我在Layout.cshtml中使用了Render.Action / Html.Action,而且用户未经过身份validation。 所以布局试图加载一个身份validation的行动在未经身份validation的上下文。

一旦我将行动更新为允许匿名,问题就消失了, 这就是我所知道的 。

希望这有助于某人。

今天我有类似的问题。 出于某种原因,我的GET请求很好,但PUT请求失败了我的WCF WebHttp服务

将以下内容添加到Web.config解决了问题

  <system.web> <authentication mode="Forms" /> </system.web> 

当我用MVC文件夹创build一个空项目,然后将应用程序部署到服务器时,我遇到了这个错误。 我的问题是,我没有在Web.config定义身份validation,所以我所要做的就是将此行添加到system.web标记。

 <system.web> <authentication mode="None"/> </system.web> 

我面临类似的问题。

该文件夹是共享的,提供了Authenticated Users权限,解决了我的问题。

我在IIS 8.5下遇到同样的问题。 对我来说一个工作解决scheme是改变IIS显示详细的错误。 查看sna2stha的答案。 但是我认为在生产环境中向浏览器转发详细的错误信息并不是一个好主意。 我在httpErrors-Section中添加/更改了existingResponse属性,所以IIS没有处理任何extern的Asp.net响应:

  <httpErrors existingResponse="PassThrough" /> 

这对我有用。