用于非asp站点的IIS授权

时间:2013-10-09 21:52:53

标签: authentication iis iis-7 web-config

我有一台运行许多网站的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" />

这可能吗?

1 个答案:

答案 0 :(得分:0)

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

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