如何在没有服务器配置访问权限的情况下使用 IIS 模拟 htaccess 进行身份验证?

如何在没有服务器配置访问权限的情况下使用 IIS 模拟 htaccess 进行身份验证?

我需要在 Windows 服务器 IIS 上放置一个网站,我想使用基本身份验证,就像我在 Apache 中做的那样,使用 .htaccess / .htpasswd

我到处都看到,我可以通过 IIS 的管理选项卡执行此操作,但我不是管理员,而且我只有 ftp 访问权限。似乎有一个“web.config”文件可以执行此操作。

有没有办法在配置文件中设置这些内容?

我不习惯使用 IIS...

答案1

这取决于具体情况。通常,它不像 Apache 那样进行委托。但是,如果您希望使用密码保护您的站点并且您正在使用 ASP.NET,则可以使用身份验证和授权元素来实现这一点。这在 web.config 中设置。要进行研究并快速掌握,请在 google/bing 上搜索“authentication authorization asp.net”。

此外,如果您使用的是 IIS7,那么您可以设置它以<system.webServer>应用于所有文件类型。

如果您需要将身份验证类型从 Windows 更改为基本,那又是一件不同的事情,并且需要服务器管理员或控制面板来帮助,但我怀疑您所需要的只是密码保护。

这是一个可能正是您所需要的示例:

假设您正在使用 asp.net 并且想要用密码保护您的网站,请在网站的根目录中创建一个名为 web.config 的文件,并在其中放置以下内容:

<configuration>
  <system.web>
    <authentication mode="Windows">
    <authorization>
      <allow users="?" />
    </authorization>
  </system.web>
</configuration>

答案2

无论应用程序是否是 ASP.NET,Scott 的方法都会起作用吗?无论如何,IIS 都会寻找一个 web.config 来覆盖其默认值,并且在此之前它可能不会关心您正在提供什么类型的内容。代码中没有任何内容需要实现该 web.config - 它只是告诉 IIS 您希望在身份验证/授权级别上完成什么。

相关内容