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]
项目详情
下载文件
下载适用于您的平台文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。