跳转到主要内容

使用只能使用一次的令牌登录。

项目描述

简介

一次性令牌PAS允许用户使用特殊令牌登录。令牌生成后只能使用一次。这使得成员可以在不提供用户名和密码的情况下登录。您可以发送包含特殊登录URL的电子邮件,以便成员轻松访问门户。

安装

此产品是为Plone 2.5编写的,但可以轻松用于3.x。

  • 通过快速安装程序安装

  • 在OTT插件中激活身份验证和提取,将该插件移到顶部。

使用方法

  1. 生成令牌

    tokenTool = getToolByName(self, 'onetimetoken_storage')
    
    token = tokenTool.setToken(userId)
    
    'http://myplone/@@do_some_nice_stuff?token=%s' % token = token
  2. 将带有登录代码的URL发送给用户

用户只能使用一次令牌,有效期为三周。可以在工具中设置过期时间。

或者您可以生成临时用户,稍后删除

tokenTool = getToolByName(self, 'onetimetoken_storage')

# get token and create temporary user
token = tokenTool.setToken()


# user uses token to do some nice stuff
'http://myplone/@@do_some_nice_stuff?token=%s' % token = token

# inside that view
userid = self.verifyToken(token)

# do some stuff with user (login, get some girls, etc)
# ...

# delete temporary user
tokenTool.deleteTemporaryUser(userid)

管理员的使用

在Plone网站根目录上具有管理门户权限的用户可以通过访问@@login_as浏览器视图并输入目标用户名来登录为任何其他用户。此功能已从niteoweb.loginas包中提取并修改。

安全性

为什么不使用此插件让用户自己登录呢?在某些特定情况下,自动登录用户非常有用。例如;一位成员参加节能计划并跟踪其能源使用情况。每个月他都会收到一封自动登录并更新其使用的电子邮件。另一个例子;一个门户用于向成员通知新发布的通讯,这些信件不是公开的。成员会收到一个自动登录到通讯的链接,以便他可以阅读。

这一切都是为了让用户更容易登录,并且没有登录障碍。在上述情况下,成员是普通用户,没有提升权限。当然,可能存在一次性令牌不适用或不安全的情况。

包含在URL中的登录代码包含base64编码的登录名和令牌。每个令牌都是随机数据的唯一生成的md5哈希值,只能使用一次。如果提供的用户名、令牌和存储的具有用户名的令牌之间有成功匹配,则进行身份验证。

清除旧令牌

可以通过调用token存储上的clearExpired来清除旧令牌。使用crontick和cron4plone,此任务可以自动化。

在cron4plone中添加此调用:portal/onetimetoken_storage/clearExpired

待办事项

  • 一些文档或单元测试会很好

  • 控制面板用于设置过期时间。

  • 在生成令牌时禁用成员检查。这是因为我们在生成大量密钥(> 15,000)和SQL PAS时遇到了性能问题。将其作为控制面板中的选项添加。

变更日志

0.3 - 2013-12-27

  • 修复了Plone 4安装代码兼容性 [Radim Novotny]

  • 将所有令牌异常子类化为Products.OneTimeTokenPAS.config.TokenError [Domen Kozar @ niteoweb]

  • 添加了一些测试覆盖率 [Domen Kozar @ niteoweb]

  • 在发出.setToken()时添加了创建临时用户的能力。还添加了.deleteTemporaryUser(userid)方法 [Domen Kozar @ niteoweb]

  • 修复了.clearExpired()永远不会实际执行任何操作的错误 [Domen Kozar @ niteoweb]

0.2 - 2009-10-12

  • 添加了@@login_as浏览器视图,允许以任何用户登录。想法和部分代码取自niteoweb.loginas。谢谢![naro]

0.1.1 - 2009-09-02

  • 再次发布,添加了metadata.xml

0.1 - 未发布

  • 初始发布

项目详细信息


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

Products.OneTimeTokenPAS-0.3.zip (21.0 kB 查看哈希值)

上传时间

支持