ColdFusion:是经过身份验证的站点中安全子目录所必需的第二个application.cfm吗?

问题描述 投票:2回答:2

我有一个经过身份验证的网站,其子目录具有更强的访问要求。任何人都可以注册主网站,但只有网站管理员才能登录子目录。目前,主站点和子目录都有自己的application.cfm文件和登录页面。

我最近从ColdFusion 8更新到CF 10,并且不得不做一个lot of reconfiguring of my session handling。我现在使用仅会话cookie来帮助维护用户在网站上移动时的会话。

随着CF 10中行为的这种变化,我担心,如果在两个应用程序之间来回切换,那么同时注册到主网站的站点管理员将会使他们的会话变得混乱(例如,看看他们是否可以复制一个用户的问题或在登录主站点时查找数据库详细信息。

主站点和子目录的凭据来自同一个用户数据库,站点管理员具有允许其额外访问的标志。我可以轻松编写一个脚本,检查用户是否登录主站点或子目录,并在更改位置时正确引导它们。

最后,在CF 10世界中,我是否需要第二个application.cfm,以及随后的第二组会话变量,该子目录?

(注意:我已经查看了Coldfusion Cross site authenticationCan you have multiple cfapplications in an application.cfm?条目,虽然他们在这里有很多好东西,但是不能完全回答我的问题。)

coldfusion session-variables session-cookies coldfusion-10 application.cfm
2个回答
2
投票

不,没有必要拥有多个application.cfm / cfc文件。甚至没有必要拥有第一个。但是,拥有多个也不一定是坏事。如果您有多个,则可以对子目录进行不同的onerror和onrequest处理,如果这对您的目标有益。

我更喜欢只使用一个application.cfc,以便我的所有应用程序路由/身份验证/错误处理都是预先完成的,而不是在主应用程序和管理区域之间进行分割,而且我不需要为每个用户处理多个会话。


0
投票

如果你在sessionapplication.cfm中有parent directory,变量,你可以在<cfinclude>application.cfm文件中加入subdirectory。这样你就可以在子目录中拥有相同的会话值。

application.cfm中的subdirectory:示例

<cfinclude template="/home_directory/application.cfm" />

注意:这里不需要使用<cfapplication>标签。

© www.soinside.com 2019 - 2024. All rights reserved.