欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

401错误 有大用

HTTP401错误代表用户没有访问权限,需要进行身份认证。与这个错误一同返回的还有认证使用的方式(Basic或者Digest)和认证时使用的字段(realm)名称。在这两种认证方式中,Basic认证方式使用的密码没有经过加密,直接在网络中传输;Digest方式使用加密的密码,这种方法更加安全,但是在目前的情况下技术还不成熟,不能使用。字段名称描述被保护资源的基本信息,并能够帮助用户记住他使用的用户名/密码对 [1]  。
浏览器接收到401错误信息之后,进行解释,提供一个对话框用于输入用户名/密码。在完成之后送交服务器。服务器验证之后,在验证通过的情况下把请求的资源送给浏览器,否则可能再送出401错误信息。这个过程可以由程序进行控制。验证过程最多有三次 [1]  。
  • 症    状

  • HTTP 错误 401.1 - 未经授权

  • 原    因

  • 关闭了匿名身份验证

  • 解决方法

  • 添加IIS匿名用户

出现场景

编辑
大多出现在一些需要授权的网页,表示浏览者必须拥有一个该网页正确的用户名和密码才能看到对方的网页 [2]  。

401.1

编辑
如果页面不能显示,并且报HTTP 401.1错误,很可能是因为用户没有权限来执行包含在所访问的页面中的ASP.NET代码。此时需要查看IIS的设置,是否将匿名访问禁用了。查看步骤如下:
(1)打开IIS。
(2)单击计算机名称旁的加号,然后右击【默认网站】,在弹出的快捷菜单中选择【属性】命令。
(3)单击【目录安全性】标签,并单击【编辑】按钮。
(4)此时在【身份验证方法】对话框中会出现一个【匿名访问】复选框,选中此复选框。
修改访问权限之后再次访问此页面,会发现问题已经解决 [3]  。
注意:一般自定义IIS默认匿名访问账号都属于组,为了安全,没有特殊需要,请遵循此规则 [4]  

401.2

编辑
HTTP错误401.2-未经授权:访问由于服务器配置被拒绝。这是因为关闭了匿名身份验证。
此时可以运行inetmgr,打开站点属性目录安全性→身份验证和访问控制→选中“启用匿名访问”,输入用户名,或者点击“浏览”选择合法的用户,并两次输入密码后确定 [4]  

401.3

编辑
HTTP错误401.3-未经授权:访问由于ACL对所请求资源的设置被拒绝 [4]  
IIS匿名用户一般属于 Guests组,而我们一般把存放网站的硬盘的权限只分配给administrators组,这时候按照继承原则,网站文件夹也只有 administrators组的成员才能访问,导致IIS匿名用户访问该文件的NTFS权限不足,从而导致页面无法访问 [4]  
此时可以给IIS匿名用户访问网站文件夹的权限:进入该文件夹的安全选项,添加IIS匿名用户,并赋予相应权限,一般是读、写 [4]  

自定义

编辑
我们可以通过ASP配置文件Web.config 来进行设置,用这个标签来进行设置,代码如下:
<customErrors defaultRedirect="ErrorPage.aspx" mode="On">
<error statusCode="401" redirect="AccessDenied.aspx" />
</customErrors>
请一定要确保这些错误页面的访问,此外,如果你有
<authorization>
<deny users="?" />
</authorization>
在你的验证里面,然后你必须把这些错误页面放到一个单独的文件夹里面,然后添加一个ASP配置文件Web.config,加入下面一段代码:
<authorization>
<allow users="*" />
</authorization>
如果您使用窗体身份验证,那么有几种方法可以做到这一点。最简单的方法是处理所有的人都能在到达另外一个文件夹中的一切不安全的页面(登录页面,错误页面,修改密码)。名称为“InSecured”或其它名称,然后在该文件夹中添加一个web.config文件到该文件夹中,并把下列代码:
<authorization>
<allow users="*" />
</authorization>
添加在最底层的web.config文件中,其它文件夹和页面里则添加下面这段代码:
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
这里要说明的是的作用是为ASP应用程序提供有关自定义错误信息的信息。它不适用于 XML Web services 中发生的错误。
  • 参考资料

来自  https://baike.baidu.com/item/401错误/3720974?fr=aladdin

普通分类: