我计划在内部网 IIS 服务器上使用 ExpressionEngine 作为我的 CMS。
我想要使用 IIS 的原因是为了利用将某些活动目录组限制到某些页面的功能。
例如,只有学生组可以访问 intranet/students,教职员工只能访问 intranet/staff
但我的问题是 ExpressionEngine 模板系统有点复杂。它完全由数据库驱动,默认情况下,您只能在其基于 Web 的模板编辑器中编辑模板,但您可以启用一个设置将每个模板保存为平面文件,它会自动将模板保存为“nameoftemplate”.php,因此在我的示例中,它将是 news.php
例如,有模板组,其中包含模板。
例如,学生模板组可能有 4 或 5 个模板,因此它们的 URL 将是:
http://intranet/students/news http://intranet/students/日历 http://intranet/students/forms http://intranet/students/policies
对于员工来说也是如此。
如你所见,URL 是http://内部网...,这是校园内的 URL,如果要在校外访问内网,则必须输入http://intranet.domain.com/students/
回顾 CMS 如何与模板协同工作...
学生新闻模板(http://intranet/students/news)位于 /web/system/templates/students/news.php
在 Apache 服务器上,我可以编辑配置以根据其 URL 而不是文件的远程路径 (/web/system/templates/students/news) 限制对某个活动目录组的访问。您可能想知道为什么我不走那条路并使用它......因为它会要求您使用您的用户名和密码登录,无论您是从校园访问它(http://intranet/students/news)或校外(http://intranet.domain.com/students/news)
我希望能够让校园内的用户查看http://intranet/students/news无需登录,但如果他们从校外访问……那么它会要求他们登录。
他们都使用 IE7,并且习惯于无需身份验证即可访问相应区域,如果现在要求他们这样做……他们的工作生活将会天翻地覆(是的……这很可悲)
这也许不可能,但无论如何请告诉我。
答案1
只需确保 IIS 使用 NTLM 进行站点身份验证,IE 就会自动登录到您的 Intranet。设置文件夹的 NTFS 权限以实现您的安全模型。但要注意。确保不要删除 IIS 正在运行的帐户对文件夹的写访问权限,否则您的 CMS 将无法写入模板文件。