使用web.config进行表单身份验证。始终在dev上工作,从不在现场工作

时间:2010-02-27 13:02:30

标签: asp.net vb.net iis web-config password-protection

这是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)

谢谢!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

解决方案是IIS中的配置

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

在此配置之后,一切正常。