人们为什么不使用<cflogin>?</cflogin>

时间:2009-03-03 02:42:15

标签: coldfusion cflogin

为什么人们不使用CFLOGIN?我记得几个月前CF7遇到了问题,但我不记得它有什么问题。

6 个答案:

答案 0 :(得分:7)

我一直使用cflogin,效果很好。以你喜欢的方式工作可能有点棘手,但好处是巨大的。能够使用用户角色微调您的应用程序需要处理我的大部分基于权限的自定义。以前会话管理存在一些问题,使其难以使用。打开j2ee会话似乎会使大部分问题消失。

某些流行的框架与cflogin不兼容,因此这可能是您没有看到很多内容的原因之一。他们倾向于采用自己的方法来保护应用程序功能。

我认为很多人对此感到沮丧,因为它有点古怪而且他们放弃了。其他人有更复杂的安全需求,cflogin没有完全解决,所以他们最终编写自己的系统。具体而言,没有一种简单的方法来处理内容资产的权利。

答案 1 :(得分:2)

我唯一的问题是CF8中的角色。它实现得非常出色,有点残忍,它不能正常工作。也许在CF9中。

无论如何,构建自己的基于角色的系统(为用户分配一个会话变量,其中包含系统可以检查的逗号分隔的访问级别列表)并不难做到,我克服了它。

cfLogin可能仍然值得使用的一个好处是它如何与服务器监视器连接以查看登录的人数等等。

关于使用jsession的上述观点是正确的,它值得在所有cf应用程序中进行。我拖着自己努力工作的最好的事情之一。

答案 2 :(得分:2)

CFLogin的使用原因有三个。

首先,它有点敏感,有点奇怪,并且不会有多少人会想到。你在这里放了一些代码,如果用户没有登录,它就会运行它......这很奇怪,你知道吗?早期也有一些错误也无济于事。

第二,虽然它具有Web应用程序所需的基本安全功能,但它不会再继续下去了。你不能轻易地扩展它。谁能说出每个人都想要的呢?

第三次,最实际的是,这是因为人们已经解决了这个问题。保护应用程序,身份验证和授权的问题领域已经在社区中考虑了很长时间,大多数人都知道如何去做。 CFLogin重塑了这扇门。它太少了,太晚了。

现在,这并不是说没有人使用它。我个人已经使用了几次基本成功,但没有理由敲钟。对于我的大多数应用程序,不使用CFLogin更有意义。问题域是这样或那样的,CFLogin并不总是以最聪明的方式解决它。

答案 3 :(得分:2)

请记住,CFLOGIN可以捕获Basic HTTP Auth,即使在您调用CFLOGOUT之后它也可以继续发送其UserID和密码。

我知道这会让一些高级用户远离它。

以下是LiveDocs

的摘录
  

警告:如果使用基于Web服务器   身份验证或任何形式   使用基本HTTP的身份验证   授权标题,浏览器   继续发送身份验证   信息到你的申请,直到   用户关闭浏览器,或者在   有些情况下,所有打开的浏览器窗口   结果,在用户注销后   并且您的应用程序使用cflogout   标签,直到浏览器关闭,   cflogin标记中的cflogin结构   将包含已注销的用户   用户标识和密码。如果用户登录   out并且不关闭浏览器,   另一个用户可能会访问页面   第一个用户登录。

答案 4 :(得分:0)

在我的情况下(假设其他人也是),主要原因是从其他平台转移,比如说PHP。我的意思是我已经在ACL开发中获得了一些知识和习惯,并开始在CF中使用它们。

我知道如何为用户提供方便,为开发人员提供灵活性和安全性,并且确实需要切换到cflogin。

有时候其他东西会发生同样的情况,比如在大多数情况下,我更喜欢使用自己的JS而不是使用cfform / cfinput来实现客户端验证。

答案 5 :(得分:-2)

因为它(仍然!)有严重的错误,比如这个:

http://www.raymondcamden.com/index.cfm/2009/8/7/Watch-out-for-this-CFLOGIN-Bug