【问题标题】:IIS authorization for use in a non asp site在非 asp 站点中使用的 IIS 授权
【发布时间】:2013-10-09 21:52:52
【问题描述】:

我有一个 IIS 服务器,它运行许多具有自己 IP 地址的网站。这些站点都是 ASP 站点。我有一个需要添加的新站点,它是用纯 HTML 完成的,而不是 ASP 站点。该请求仅允许已通过其他站点之一身份验证的人员进入该站点。我在 Windows 2008 Server R2 上使用 IIS 7。

不确定这是否可能,但这是我目前所做的:

在 system.webServer 中添加了以下内容:

<modules>
  <add name="FormsAuthenticationModule" type="System.Web.Security.FormsAuthenticationModule" />
  <remove name="UrlAuthorization" />
  <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
  <remove name="DefaultAuthentication" />
  <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" />
</modules>

在 system.web 中添加了以下内容:

<authorization>
  <deny users="?" />
  <allow users="*" />
</authorization>
<authentication mode="Forms" />

也尝试将以下内容添加到 system.web:

<identity impersonate="true" />

这可能吗?

【问题讨论】:

    标签: authentication iis iis-7 web-config


    【解决方案1】:

    除了将身份验证模式设置为我最初错过的 Windows 之外,其他步骤是:

    • 打开 IIS,并确保该站点存在应用程序池。
    • 将其模式设置为集成。
    • 在 IIS 中打开网站本身
    • 在 IIS 部分打开身份验证。
    • 启用 Windows 身份验证。
    • 根据需要修改 web.config 添加用户/组到授权 部分。
    • 这是我没有意识到的一件事 - 它不会处理所有规则并用新规则覆盖以前的规则。一旦找到有效的规则,它就会停止。所以你不要拒绝所有用户,然后添加一个。你添加你想要的,然后全部拒绝。
    • OP 中的 system.webServer 部分是正确的。

    【讨论】:

      猜你喜欢
      • 2015-11-03
      • 1970-01-01
      • 2014-04-27
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      相关资源
      最近更新 更多