跳转到主要内容

Products.NoDuplicateLogin

项目描述

此PAS插件将拒绝同一时间同一用户的多次登录。它确保一次只有一个浏览器可以登录相同的用户ID。

实现

实现方式如下:假设Anna和Karl是两个共享登录annaandkarl的人。Anna登录,进行首次认证。我们为Anna生成一个唯一ID的cookie,并记住这个ID。对于每次随后的认证(即每个请求),我们将确保Anna的浏览器有这个cookie。

现在Karl决定使用Anna现在用来浏览网站的同一登录annaandkarl登录网站。插件看到Karl的浏览器还没有我们的cookie,因此为Karl的浏览器生成一个具有唯一ID的cookie,记住它并忘记Anna的cookie。

当Anna点击网站上的链接时会发生什么?插件看到Anna有我们的cookie,但它与它记住的cookie值不同(Karl的浏览器有那个cookie值)。Anna被注销,但插件显示消息“有人用你的名字登录”。

安装

Products.NoDuplicateLogin添加到你的plone.recipe.zope2instance部分的eggs参数中

[plone]
recipe = plone.recipe.zope2instance
eggs =
    Plone
    ...
    Products.NoDuplicateLogin

现在运行buildout并重新启动Plone。一旦Plone启动,登录并浏览到站点设置 -> Zope管理界面 -> acl_users,然后在右上角的下拉菜单中添加一个No Duplicate Login Plugin

之后,点击acl_users文件夹列表中的No Duplicate Login Plugin对象。在No Duplicate Login Plugin文件夹列表中的身份验证重置凭证对象上点击,然后将左侧的可用插件显示小部件中的no_duplicate_login插件移动到右侧的活动插件显示小部件中,使用中间的箭头按钮。

现在测试!也可能需要在活动插件显示列表中向上“移动”no_duplicate_login插件,以便在身份验证重置凭证中。

如果你使用策略产品安装此产品,你可以通过在配置文件目录中包含一个空的noduplicatelogin.xml文件来执行这些操作。

历史

2.0.1 (2023-12-04)

  • 打包错误修复:由于缺少添加模板[pigeonflight],插件无法添加

2.0 (2014-11-25)

  • 安全和性能改进[matthewwilkes]

  • 移除对plone.session的重实现[matthewwilkes]

  • 更改内部数据结构以避免不必要的对象存储[matthewwilkes]

  • 将测试添加到测试工具中[matthewwilkes]

  • 修复纯Zope兼容性[matthewwilkes]

1.0b1 (2014年11月25日)

  • 移除对plone.session的重实现[matthewwilkes]

  • 更改内部数据结构以避免不必要的对象存储[matthewwilkes]

  • 将测试添加到测试工具中[matthewwilkes]

  • 修复纯Zope兼容性[matthewwilkes]

1.0a2 (2011年2月18日)

  • 添加更多安装说明

1.0a1 (2010年12月17日)

  • 添加测试工具[aclark]

  • 移除“实验性”会话存储,因为ZODB冲突太多[aclark]

  • Plone 4兼容[aclark]

  • 重新打包为egg[aclark]

1.0 svn/dev

  • Plone 3兼容[perrito]

  • 原始实现[nouri]

项目详情


下载文件

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

源分布

Products.NoDuplicateLogin-2.0.1.tar.gz (13.4 kB 查看哈希值)

上传时间

由以下支持