提前致歉,因为这似乎是一个非常菜鸟的问题,应该很容易解决,但我无法解决:
我正在为在 IIS 8.5 上运行的网站设置 Windows 身份验证:该网站的 Yii 框架http://localhost/mywebsite/index.php/site/login
使用“站点”控制器的“登录”操作接受类似的输入并对其进行处理。
我启用了 URL 重写来获得更好的 URL,将 URL 保留为/mywebsite/site/login
。
现在我需要为这个位置设置 Windows 身份验证。具体来说,只针对这个非常精确的位置。只有/site/login
mywebsite 的位置需要身份验证。其他所有位置都需要匿名。
由于它是一个“虚拟位置”,我不知道该怎么做。我可以为文件、目录、虚拟目录等设置 win-auth,但不能为不映射到任何文件而只映射到 Yii 中的控制器/操作的虚拟位置设置 win-auth。
这在职的Apache 中的对应项是
<Location ~ "/site/login"> # Insert definitions here </Location>
但我无法“将其翻译成 IIS”。
我读到过 IIS 确实有“~”符号,但我就是无法让它工作。它可以用来实现基于位置的身份验证吗?
我也查看了虚拟目录,它们似乎只是硬盘上实际文件夹的一种“符号链接”。它们是否可以以不同的方式用于“在实际不存在的位置创建虚拟文件夹以管理其属性”?
非常感谢您的帮助。