与膜结合的灵巧性内容和行为。

dexterity.membrane的Python项目详细描述


简介

dexterity.membrane允许将dexterity内容项用作plone站点中的用户和组,并与products.membrane集成。

https://travis-ci.org/collective/dexterity.membrane.png

兼容性

该软件包已经过Plone 4.2的测试和开发+ 事实上,由于我们需要uuid支持,它只能在那个版本(或更高版本)上工作。 我们强烈建议使用Python2.7。 它可能在Python2.6上工作,但我们没有使用该版本进行测试(至少测试有一些代码只在2.7上工作)。

我们依赖products.membrane 2.0.2或更高版本,因为它包含一个修复程序,以确保删除的成员也从membrane工具目录中删除。

用户ID

作为用户id,我们使用为内容项生成的uuid。 这只适用于plone 4.1及更高版本。 参见 user.py 行为中 getuserid 的定义。

如果定义了自己的成员内容类型,则应在其上启用 plone.app.referenceable behavior.referenceable.irereferenceable 行为,因为这提供了uuid支持。 这也意味着可以从原型内容中引用成员。

以登录名发送电子邮件

此包包含具有电子邮件字段的成员内容类型。 行为将此用作登录名。 请参见getusername。 其他的实现是可能的,因此我们不强制您在您的站点中使用电子邮件地址作为登录名。

默认情况下,这是打开的,但您可以在我们的控制面板中将其关闭。 设置保存在plone注册表中。

除此之外,还可以打开plone本身的use_email_as_login属性。 就本软件包而言,唯一的影响是更改了登录表单中的某些文本: 您可以看到 电子邮件地址 作为标签,而不是登录名。 要启用此功能,您可以将其放入propertiestool.xml中(plone 4),也可以将其放入项目的自定义包中:

<?xml version="1.0"?>
<object name="portal_properties" meta_type="Plone Properties Tool">
  <object name="site_properties" meta_type="Plone Property Sheet">
    <property name="use_email_as_login" type="boolean">True</property>
  </object>
</object>

有关更改设置的警告

最好配置一次设置,然后不要再触摸它们。 如果在创建成员后更改设置,则可能需要重新编制索引。 如果只有几个成员,那么编辑和保存所有成员将是最简单的方法。 如果你有几十个或几百个成员,这不是很实际。 未来的版本可能会自动执行此操作。 如果您有兴趣帮忙,a 拉取请求 会很好。

成员内容类型

这个包定义了一个成员内容类型,但这可以看作是一个例子; 请随意创建不同的类型,只使用行为或创建自己的行为适应。

行为

< DL>
灵巧性。膜。行为。用户。imembraneuser
这使得内容表现为膜用户,定义了获取用户id( getuserid )和登录名( get user name )的方法。
灵巧性。膜。行为。密码。iprovidepasswords
将密码和确认字段添加到您的灵巧内容中。 这在身份验证期间使用。
灵巧性。膜。行为。组。膜组
这使得内容表现为一个膜组,定义了获取组id( getgroupid )和组名( get group name )的方法。

膜实施

< DL>
产品、膜、接口、膜
我们使用电子邮件字段和密码字段实现身份验证。
products.membrane.interfaces导入IMembraneUserProperties
我们提供从自己的 imember 模式的first和last name字段到fullname用户属性的只读映射。 我们为 imember 的电子邮件、主页/主页和描述/生物属性/字段提供了读写映射。

本地角色

此包定义本地角色提供程序。 它确保登录用户在属于该用户的膜对象上获得本地读卡器、编辑器和创建者角色。

工作流程

我们定义了一个带有挂起/批准状态的简单工作流。 用户只能在"已批准"状态下登录。

加密

从1.1.0b3开始,dexterity.membrane使用 bcrypt 加密新密码。 此更改保持对现有ssha密码的支持。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Android上的可访问文件夹中创建文件?(非根)   tomcat Unix脚本未使用Process Runtime在Java中运行   模拟器中的java Android AudioTrack速度异常   java是否创建具有特定@ConditionalOnProperty的注释?   java如何使用json数据从gridview中的URL加载图像?(类别和子类别)   ConcurrentHashMap的java锁定值对象   如何在具有额外属性的Java枚举上执行Javadoc?   java如何修复SocketException连接重置问题?   无附加表的java JPA实体继承   java Android应用程序在启动屏幕后崩溃   java如何将Arraylist保存到文件?   java restTemplate从restfull Web服务获取文件数组   java活动带布局隐藏导航栏   socket未接收任何内容的java BufferedReader