【问题标题】:IIS7 & forms authenticationIIS7 和表单身份验证
【发布时间】:2012-03-05 22:11:58
【问题描述】:

我整天都在为此苦苦挣扎。我正在尝试向我的 asp.net 网站添加表单身份验证。

我已禁用匿名、Windows、ASP.NET 模拟并启用表单身份验证。

我创建了一个 Login.aspx 页面并拥有一个 Default.aspx 页面。 Default.aspx 是默认文档。

我已经添加到 web.config:

<authentication mode="Forms"/>

这是我正在经历的行为:

1) 使用 http:\localhost\ 进行测试时,应用程序根目录出现 401.2 错误。

2) 使用 http:\localhost\Default.aspx 进行测试时,我在 Login.aspx 上收到 401.2 错误,因此正在发生重定向,但 Login.aspx 给出了错误。

所以我似乎无法访问网站上的任何页面,即使是 Default.aspx 和 Login.aspx。

但我找不到解决方案,我什至尝试过:

  <location path="Default.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

  <location path="Login.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

但这似乎并没有改变任何东西。

我也试过了

<authentication mode="Forms">
  <forms loginUrl="Login.aspx" />
</authentication>

但这也没有什么不同。

此外,如果我恢复为匿名或 Windows 身份验证,则默认文档重定向有效。

我在 Vista Business 上的 IIS7 上使用 asp.net 3.5。

请帮忙!

【问题讨论】:

  • 给我们您用来声明身份验证是“表单”的代码块。
  • 已编辑以显示身份验证部分。
  • 文件夹/文件的 Windows 文件权限是否可能不允许提供文件?这些文件有哪些用户权限?
  • 不,我不这么认为,因为它适用于匿名身份验证。我也尝试让每个人都完全控制,但这没有帮助。
  • 通过禁用匿名身份验证,您需要为应用程序提供一个在其中运行的有效用户。否则您将无法访问它,因为 IIS 阻止了它。如下所述,网络服务器身份验证和 Asp.net 成员身份是两个不同的东西。您可以启用匿名身份验证并仍然使用表单身份验证。尝试在 Visual Studio 的网络服务器中运行您的网站。如果没有 IIS 的问题,它可以正常工作。

标签: asp.net iis forms-authentication


【解决方案1】:

允许匿名访问 IIS 中的文件夹并在 web.config 中编写下面提到的语句:

<authorization>
  <deny users="?" />
</authorization>

添加这些语句后,当您尝试导航到经过身份验证的页面时,您将被重定向到登录页面,无需身份验证。

在登录页面,您只需要在成功登录后生成一个身份验证票,以浏览经过身份验证的页面。

【讨论】:

    【解决方案2】:

    在 IIS 中对您的应用程序禁用 Windows 身份验证、匿名用户等将更改有关网站身份的设置,而不是用户成员资格设置!

    如果您想在您的网站上为您的用户启用身份验证,您甚至可以启用匿名用户和 Windows 身份验证,这样 IIS 将接受所有到达网络服务器的请求。 然后,您可以使用表单身份验证(通过登录页面中的 SignIn 方法实现)授予访问者使用 asp.net 成员资格仅访问网站的某些部分的权限。 Have a look at this article 关于表单身份验证和 this one 关于 IIS 上的授权问题。

    【讨论】:

    • 感谢 Giorgio,我启用了匿名身份验证并且它可以工作,只是它没有进入登录页面。所以我添加了: 然后是登录页面。感谢您指出 IIS 和 asp.net 身份验证之间的区别。我现在只需要允许访问登录页面的 css 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    相关资源
    最近更新 更多