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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ColdFusion:是经过身份验证的站点中安全子目录所必需的第二个application.cfm吗?相关的知识,希望对你有一定的参考价值。

我有一个经过身份验证的网站,其子目录具有更强的访问要求。任何人都可以注册主网站,但只有网站管理员才能登录子目录。目前,主站点和子目录都有自己的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?条目,虽然他们在这里有很多好东西,但是不能完全回答我的问题。)

答案

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

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

另一答案

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

application.cfm中的subdirectory:示例

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

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

以上是关于ColdFusion:是经过身份验证的站点中安全子目录所必需的第二个application.cfm吗?的主要内容,如果未能解决你的问题,请参考以下文章

配置web服务基本用户身份验证,保证web站点的安全

身份验证站点中的Django缓存:最佳做法

从安全上下文中获取当前经过身份验证的用户作为 Spring Cache 的密钥

Spring(引导)具有允许资源的安全预身份验证仍然经过身份验证

如何绕过特定域的经过身份验证的端点上的弹簧安全性?

如果经过身份验证的 NodeJS 则重定向