问题标签 [cflogin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1870 浏览

coldfusion - ColdFusion 9 中的登录系统

我正在使用我的公司以前在使用框架的网站上使用的非常旧的登录系统。以前,当有人尝试错误的用户/密码组合时,框架会加载一个简单的 cfinclude 文件,其中包含登录表单和顶部的错误消息。现在我在一个调用 application.cfc 的弹出窗口中使用了一个表单,但是页面并没有在我的弹出窗口中返回错误消息,而是将 cfinclude 文件从应用程序组件加载到一个新页面。

所以我需要为这个应用程序做一些事情。首先,我需要初始弹出窗口保持不变,如果用户/密码的组合错误,页面不应该提交,最后我需要错误消息出现在弹出窗口的某个位置。

如果有人在我之前做过这样的事情,我将非常感谢您的反馈。

这是我的代码的一部分:

登录表格:

应用程序.cfc 代码:

0 投票
1 回答
107 浏览

coldfusion - cflogin 后设置默认位置

我有几个用 ColdFusion 编写的 Web 应用程序。应用程序在 CF 根文件夹中有自己的文件夹。当我成功<cflogin>时,我将返回到根文件夹的索引页面。我希望用户留在那个我知道可以完成的应用程序文件夹中,我只是不记得如何开始。您使用该应用程序的页面为应用程序设置根页面的地方Application.cfc。有什么见解吗?

0 投票
1 回答
1718 浏览

iis - ColdFusion 8 到 ColdFusion 10 迁移:CFloginUser 未按预期工作

从 CF8 升级到 CF10,移动所有文件和数据库并跳过所有配置箍后,新版本的站点启动并运行,但身份验证/登录不起作用。

以下是环境:

旧服务器: ColdFusion Enterprise 8,0,1,195765

操作系统:Windows Vista*

操作系统版本:6.0

更新级别:.... hf801-00007.jar

IIS 版本:7

(*不确定“Vista”来自哪里?系统信息显示“Windows Server 2008 Datacenter without Hyper-V”)

新服务器: ColdFusion Enterprise 10,0,11,285437

Tomcat 版本:7.0.23.0

操作系统:Windows Server 2008 R2

操作系统版本:6.1

更新级别:....chf10000011.jar

Adobe 驱动程序版本:4.1(内部版本 0001)

IIS 版本:7.5

我有一个非常标准的 ColdFusion 登录系统,在 Application.cfc 中使用cfloginuser。在我登录旧站点后,输出#GetAuthUser()#会将我的用户名打印到屏幕上,并且我所有基于角色的规则都有效。

在新服务器上,输出 GetAuthUser() 打印为空。

在旧网站上,cfdump var="#SESSION#"包括:

在新站点上,CFDUMPof session 根本不显示任何cfauthorization_kllcms值。所有其他会话值都存在于两个实例中。

它是完全相同的代码库、数据库结构等。当然,我的基于角色的规则都不起作用,因为它们都依赖于对 getAuthUser() 和 IsUserInRole("x") 条件的验证。

我知道初始登录过程本身正在运行,因为它使用用户信息正确设置会话变量,并且它们可用于后续请求。但是在后续调用中没有任何传统的 cflogin 数据可用。

有什么想法可能会改变吗?

更新:根据亚当的建议(如下),我设置了 2 个测试应用程序,一个在旧服务器上,一个在新服务器上。

旧服务器: http ://cfloginold.cimhost.com/index.cfm

新服务器: http ://cflogin.cimhost.com/index.cfm

使用“test”和“demo982013”​​作为用户名和密码。

附加?logout=true到 URL 以注销并重新测试。这两个应用程序具有完全相同的代码、相同的数据库。我将会话和表单值连同GetAuthUser()值一起转储到屏幕上。

身份验证方法与Adob​​e 文档中概述的几乎完全相同,如有必要,我可以在此处分享所有相关代码。

请注意,在“新”服务器中,每次访问页面时都会加载表单,无论您是否已登录。这是cflogin会话没有被保留或识别的例子,因此每次访问都会显示登录表单(尽管不是在初始表单完成时,这表明 cflogin 至少在初始登录上工作,我认为)。

更新 2: 我一直在深入研究这一点,我能够让 cfloginuser 以几种方式触发,只是不是作为标准Adob​​e 记录的基于应用程序的用户安全模型的一部分。

选项 1:我创建了一个独立页面,并在其中放置了以下代码:

然后我指示 Application.cfc 允许它通过cflogin大门。您可以通过将浏览器指向以下网址来查看结果:http ://cflogin.cimhost.com/directlogin.cfm?bypass=true

瞧。'cfauthorization_cicmstest' 值已设置,用户已登录。后续调用GetAuthUser()成功。所以我现在知道 CF10 和应用程序确实允许 cfloginuser,并且可以创建用户会话。

选项 2:然后我决定这可能与我的 Application.cfc 文件有关,所以我再次绕过cflogin门,将硬编码cfloginuser片段直接放在我的 Application.cfconRequestStart函数中。登出并访问:http ://cflogin.cimhost.com/index.cfm?bypass=true&noquery=true

同样,cfauthorization_cicmstest值已成功设置,并且用户已登录。

cfloginuser但是,如果在 Application.cfc中的实际cflogin进程中触发指令,登录仍然会失败。这是该代码的样子:

我知道查询是成功的,因为我正在设置一条警报消息,告诉我该loginquery.userroles值不为空,这是处理的条件cfloginuser

我知道代码现在哪里失败了,只是不知道为什么。我已经尝试对该值进行硬编码,cfloginuser但仍然失败。我不知道下一步该尝试什么。该cfloginuser功能有效,只是不在loginQuery.userroles我需要它工作的一个地方(在条件内)。

更新 3:

为了向自己证明这不是我的代码,我又创建了 2 个测试站点,一个在旧服务器上,一个在新服务器上:

新服务器 (CF10) = http://cf10loginadobe.cimhost.com/securitytest.cfm

旧服务器 (CF8) = http://cf8loginadobe.cimhost.com/securitytest.cfm

我从他们的基于应用程序的安全示例中准确复制了Adob​​e 的 3 个文件。我用它们的模式和值创建了一个数据库表。我添加了cfdump输出以显示正在创建的会话。

使用“Bob”用户和“secret”密码进行测试。即使使用 Adob​​e 自己的代码,CF10 上的测试也会失败。

我不确定下一步该怎么做。将应用程序重写为不使用cfloginuser不是一种选择,因为我们有十几个应用程序正在迁移到使用此身份验证模型的 CF10,它们跨越数百个模板。

cfloginuserIIS7.5 处理 ColdFusion 请求的方式可能有些奇怪,但考虑到在条件查询结果之外成功实例化的能力,这似乎不太可能。

0 投票
1 回答
9779 浏览

coldfusion - 使用 Coldfusion 创建登录系统

我试图创建一个管理区域,但无法让登录系统正常工作。我对此有三个部分。login.cfm 页面、login_action.cfm 和 app.cfc。

使用此代码并尝试登录时,它只停留在同一页面上。

登录.cfm

Login_action.cfm

和 Application.cfc。

如果有人可以提供帮助,那就太好了,谢谢

0 投票
1 回答
179 浏览

coldfusion - URL 参数被 CFLOGIN 吹走?

我正在尝试将 CFLOGIN 与仅对Adob​​e CFLOGIN 文档页面上描述的内容稍作修改的代码用于演示应用程序。

应用程序向用户发送一封电子邮件,其中包含如下链接:[theURL]/loggedin/addplayertomatch.cfm?match_ID=[theID]

如果用户已经登录,单击此链接效果很好。如果他们没有登录,application.cfc 会适当地包含 loginform.cfm,其中登录表单操作指向:

(此时查询字符串仍然包含我的 match_ID 参数)。但是,当我提交登录表单时,页面 URL 最终看起来像:

match_ID 参数现已丢失,由 CFID 和 CFTOKEN 取代。出于演示目的,我真的不介意 CFID 和 CFTOKEN 参与其中,但我的 match_ID URL 参数去哪儿了?我该如何取回它?

注意:我的 application.cfc 或 loginform.cfm 中没有任何 CFLOCATION。

谢谢!

0 投票
3 回答
1832 浏览

coldfusion - What's the best way to logout with ColdFusion?

cflogout does not seem to clear the CFID and CFTOKEN values. Is cflogout only used with cflogin?

In this instance, I am not using cflogin. I am setting session variables because of the issues with cflogin. It worked before CF11 Update 7, however, CF11U7 seemed to resolve the cflogin double issue. Anyone else?

Is this all that I need? If so, it's not working.

What is the best way to logout using ColdFusion?

0 投票
1 回答
444 浏览

coldfusion - Coldfusion:Application.cfc cflogin 脚本

所以我在一个使用coldfusion并在application.cfm文件中的项目中使用cflogin的地方工作:

我自己更喜欢脚本风格,并且读到您应该使用 application.CFC 而不是在线 CFM。我还是 Coldfusion 的新手,因为我来自 php 背景,所以我尝试使用 cflogin,就像他们在标签语法中所做的那样,但在脚本中,我在 onRequestStart 函数中的代码如下:

现在我想知道如何以脚本样式使用 cflogin,这似乎已添加到 CF11- https: //cfdocs.org/cflogin

我在脚本中的代码可以很好地加载登录表单,但是当我提交这会导致 cflogin 没有被定义,所以当他们点击登录时,它只会返回登录表单,就像页面刷新一样。我只是有点困惑,因为如果我使用 application.cfm 文件并使用基于标签的它可以工作,但它不适用于脚本样式?

有什么建议么?

0 投票
1 回答
458 浏览

coldfusion - 如何检查用户是否登录?

我想在我的应用程序中实现锁定功能。一旦用户在我的应用程序中选择了客户,该记录就不应该对其他用户可用。我创建了包含User ID和的 Lock 表Record ID。因此,在其他人尝试选择相同记录的情况下,我将检查 Lock 表。如果 aRecord ID存在,在 Lock 表中,我应该检查用户是否仍然登录。我想知道是否有办法在 ColdFusion 9 中检查?

这是我的会话变量和应该更新锁定表的函数的示例:

我正在处理的系统没有任何临时表来存储当前登录的用户。检查用户是否登录的另一个选项是什么?我看到了一些相关的帖子,cflogin但没有一个解释了这个特定的场景。如果有人可以提供帮助,请告诉我。

0 投票
0 回答
37 浏览

cfml - CF 登录失败:mkdir U:: 系统找不到指定的路径。失败的

在我的 cmd 中,我试图通过 cf 登录并看到此错误。

C:\Git Projects{App-name}>cf login mkdir U:: 系统找不到指定的路径。失败的

让我知道是否有人对此有任何想法