EZ Publish/EZ Publish访问控制
EZ Publish | EZ Publish安装与卸载 | EZ Publish的使用 | EZ Publish常见问题 | EZ Publish其他 |
本条目阐述了eZ Publish 如何管理用户帐号和访问权限。系统有一个内建的访问控制机制,可以用来限制对内容和功能的访问。访问控制系统基于以下元素:
- 用户
- 用户组
- 策略
- 角色
下图演示了这些元素的关系:
用户定义了一个系统内合法的用户帐号。用户组由用户和其他用户组构成。策略规则是一条规则,这条规则授权对内容和功能的访问。例如:一条策略可以授权对一组节点的读访问。角色是被命名的一组策略。角色可以被指派到用户和用户组。以下内容深入探讨用户/用户组/策略/角色。
用户
一个真实的用户帐号由一个包含这个用户个人信息的内容对象(至少有一个节点)代表。默认的“用户”类允许存储后面这些元素:名,姓,电子邮件,用户名和密码。最后三个元素(电子邮件,用户名和密码)由“用户帐号”数据类型提供。这是一种特殊的数据类型,它会作为合法的用户存在于系统中。换言之,如果需要保存附加的用户数据,可以修改默认的用户类或创建一个自定义类且包含这种数据类型的属性。
启用和禁用用户帐号
在管理界面中可以启用或禁用用户帐号。当被禁用时,用户帐号仍然存在,但是用户不能登录系统,除非用户帐号被启用。新创建的用户帐号默认被启用。
锁定/解锁用户帐号除了启用和禁用,用户帐号还可以被锁定和解锁。一个帐号会自动被系统锁定如果密码输入错误的次数超过最大登录失败数。失败的登录是一个正确的用户名和错误的密码的组合。帐号被锁定后,帐号对应的用户将不能登录,除非帐号被有管理员权限的其他用户解锁或者从可信IP 地址段访问。登录失败数保存在数据库中的"ezuservisit"表。登录成功后,登录失败数会被清零。
电子邮件
注意,默认配置不允许不同用户用相同电子邮件注册。这只是一个内部预警机制。可以在"site.ini"的重设文件中将"RequireUniqueEmail"设置为false。这个配置在[UserSettings]块内。
用户ID
每个用户有一个唯一的数字ID。这个ID 与代表用户帐号的对象ID 相同。用户ID 被系统中的其他对象引用。一个对象包含到创建者(通过用户ID)和所有版本创建者的引用。删除用户帐户会造成数据库不一致,因为对象的属主/修改者会引用到不存在的用户帐号。因为这个原因,不建议从系统中删除用户,删除用户的功能应该被从系统中禁用。
用户组
用户组是一个内容对象(有至少一个节点)。这个对象包含用户帐号和其他用户组。换言之,用户组只是用户的集合(与文件系统中的目录类似)。
策略
策略是一条规则。这条规则授权访问某个模块特定功能或全部功能。策略由以下元素构成:
- 模块名
- 函数名
- 函数限制
模块名表明了要授权的模块名。模块名指定要被限定的函数名。一个策略可以限定单个函数或授权访问一个模块的所有函数。一个模块可以有0 到多个函数。函数被指派到模块的视图,因此对视图的访问控制由指派到这个视图的函数控制。函数-视图指派不能在管理界面中修改。对模块函数的授权可以用函数限制进一步控制。这只有在函数本身支持限制才可以。一个函数可以有0 个,1 个到多个限制。下表演示了可用的函数限制。
角色
角色是被命名的一组策略。角色可以被指派到用户和用户组。指派角色的时候可以有附加的限制。角色限定特性在多个具备类似权限的用户必须管理内容树中的不同部分时很有用。在这种情况下,不是为每个用户创建一个独立的角色,而是创建一个通用的角色然后为不同用户指派不同的角色限定。角色限定会重设策略限定。下表演示了可用的角色限定。