我需要在 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 您希望在身份验证/授权级别上完成什么。