冷聚变:对于经过身份验证的站点中的安全子目录来说,是否需要第二个 application.cfm?
题
我有一个经过身份验证的网站,其中有一个具有更强访问要求的子目录。任何人都可以注册主网站,但只有网站管理员才能登录子目录。目前,主站点和子目录都有自己的 application.cfm
文件和登录页面。
我最近从 ColdFusion 8 更新到 CF 10,并且不得不执行以下操作 大量重新配置我的会话处理. 。我现在使用仅会话 cookie 来帮助维护用户在网站上移动时的会话。
由于 CF 10 中行为的这种变化,我担心也注册到主网站的站点管理员如果在两个应用程序之间来回切换(例如,查看他们是否可以复制用户的问题或在登录主站点时查找数据库详细信息)。
主站点和子目录的凭据都来自同一用户数据库,站点管理员有一个允许他们进行额外访问的标志。我可以轻松编写一个脚本来检查用户是否登录到主站点或子目录,并在他们更改位置时适当地引导他们。
底线是,在 CF 10 世界里,我需要第二个吗? application.cfm
, ,以及随后该子目录的第二组会话变量?
(笔记: 我都看过 Coldfusion 跨站点身份验证 和 一个 application.cfm 中可以有多个 cfapplication 吗? 条目,虽然他们这里有很多好东西,但并不能完全回答我的问题。)
解决方案
否,不必具有多个应用程序.CFM / CFC文件。甚至没有必要拥有第一个。但是,它并不一定是有倍数的坏事。如果您有多个,如果对您的目标有益,则可以对子目录有不同的onError和OneQuest处理。
我宁愿只使用一个应用程序.CFC,使我的所有应用程序路由/身份验证/错误处理都是前面的,而不是在主应用程序和管理区域之间拆分,而且我不必处理多个会话每个用户。
其他提示
如果你有 session
变量在 application.cfm
在里面 parent directory,
你可以 <cfinclude>
它在 application.cfm
文件输入 subdirectory
. 。这样子目录中的文件也可以具有相同的会话值。
例子 application.cfm
在 subdirectory:
<cfinclude template="/home_directory/application.cfm" />
笔记:这里不需要使用 <cfapplication>
标签。