2009-03-03 70 views

回答

7

我一直在使用cflogin,它工作的很好。以你喜欢的方式工作可能有点棘手,但好处是巨大的。能够用用户角色对应用程序进行微调,可以处理大部分基于权限的定制。过去,会话管理存在一些问题,导致难以处理。打开j2ee会话似乎会使大多数问题消失。

一些流行的框架与cflogin不兼容,所以这可能是您看不到它的原因之一。他们倾向于拥有自己的方法来保护应用程序功能。

我想很多人对此感到沮丧,因为它有点古怪,他们放弃了它。其他人有更复杂的安全需求,而cflogin并未完全解决这些需求,因此他们最终编写了自己的系统。具体来说,内容资产处理权利并不容易。

+0

什么是 “问题与会话管理”?你还记得吗? – Henry 2009-03-04 17:47:03

+0

我隐约记住的问题是,如果您没有使用j2ee会话并且在大容量网站(同样,没有j2ee会话)时,关闭所有浏览器并不会终止您的身份验证,但当cfid是登录凭据时可能会被劫持重复使用。 – anopres 2009-03-04 17:54:37

2

我唯一遇到的问题是CF8中的角色。它出色地实施了,并且有点残酷,它不适合它。也许在CF9中。

在任何情况下,构建您自己的基于角色的系统(为用户分配一个会话变量,以逗号分隔的系统可以检查的访问级别列表)并不是很难做,我已经完成了。

约cfLogin的一个很好的事情,很可能还是值得使用的是如何联系到服务器监视器,看看有多少人登录等

上述有关使用jsession是真实的,这是问题的关键值得在所有的cf应用程序中做。我最好的事情之一就是让自己完成我想要的工作。

+0

我无法让它与NTLM身份验证*一起使用*(无论如何CF7)。 FWIW,它只是不按照广告的方式工作。我通常会将其伪装成正确运行,因为我想使用基于角色的安全性,但标记本身已被破坏。 – Tomalak 2009-08-31 08:58:17

0

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

我知道如何让它对用户很方便,对开发者和安全灵活,并且不要确实需要才能切换到cflogin。

有时候会发生同样的情况,比如在大多数情况下,我倾向于使用自己的JS实现客户端验证,而不是使用cfform/cfinput。

1

CFLogin未使用有3个原因。

第一个,这是有点棘手,有点奇怪,并没有工作有多少人会想。你在这里放了一些代码,如果用户没有登录,它就会运行它......这很奇怪,你知道吗?它也没有帮助,也有一些早期的错误。

第二,虽然它具有Web应用程序的基本要求的安全功能,但它不会再进一步​​。你不能很容易地扩展它。谁说这就是每个人都想要的?

第三,最现实的是​​,这是因为人们已经解决了这个问题。确保应用程序,身份验证和授权的问题已经在社区中得到了足够长的时间,而且大多数人都知道如何做到这一点。 CFLogin正在重塑这扇门。这太少了,太晚了。

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

2

请记住,即使在调用CFLOGOUT之后,CFLOGIN仍然可以使用Basic HTTP Auth来继续发送其用户标识和密码。

我知道这促使一些高级用户远离它。

这里是LiveDocs

注意的摘录:如果您使用基于Web服务器的 身份验证或使用基本HTTP 授权头任何形式的 认证,浏览器 继续发送认证 信息到您的应用程序,直到 用户关闭浏览器,或在 某些情况下,所有打开的浏览器窗口。 其结果是,用户注销 和应用程序使用cflogout 标签,直到浏览器关闭后,在cflogin标签 的 cflogin结构将包含注销的用户的 用户名和密码。如果用户登录 并且未关闭浏览器,则 另一个用户可能会访问第一位用户登录时的页面 。

+3

刚刚意识到,这不是CFLOGIN的错。这是HTTP基本认证的常见问题,搜索stackoverflow – Henry 2011-02-25 08:25:08

相关问题