2

这是web.config;

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.web>
    <customErrors mode="Off">
    </customErrors>
    <authentication mode="Forms">
      <forms name=".ASPXAUTH" loginUrl="login.aspx" protection="All" timeout="999999">
        <credentials passwordFormat="MD5">
          <user name="admin" password="21232F297A57A5A743894A0E4A801FC3" />
        </credentials>
      </forms>
    </authentication>
    <authorization>
      <allow users="?" />
      <allow users="*" />
    </authorization>
    <trace enabled="true" localOnly="false" />
  </system.web>
  <location path="administration">
    <system.web>
      <authorization>
        <allow users="admin" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
</configuration>

当我在我的 Visual Studio 2008 开发服务器上运行它时,它运行良好并且运行良好。当我发布到 IIS 时,我总是在尝试访问网站上的任何页面时收到 Http 403 Forbidden Errors

我的站点中有 1 个文件夹应该受到登录保护,称为“管理”

请有人指出我哪里出错了!我变得非常沮丧:0)

谢谢!

4

2 回答 2

1

我有一个类似的问题,我的情况可能与你的不同,但我通过使用 Fiddler 并检查身份验证 cookie 来解决它,看看它是否被传递给客户端。我的问题在于我在 Vista 上运行 VS 2008,这需要管理员权限。当我在本地服务器上进行测试时,我以我登录的用户身份运行,并且该用户不是管理员,所以我正在处理两个 cookie。另外,我错误地设置了身份验证路径。希望这可以帮助。

于 2010-02-27T13:39:08.260 回答
0

解决方案是在 IIS 中配置

属性 > 目录安全 > 编辑 > 身份验证方法 > 取消选中“集成 Windows 身份验证”

完成此配置后,现在一切正常。

于 2010-03-02T09:23:51.380 回答