用户角色简介
应用对象
本文内容
用户角色概述
用户角色是一个预定义的类别,可以根据用户的职务或其他条件分配给用户。 角色通常用于向不同类型的用户显示表单模板的自定义版本或视图。 可以通过向表单模板添加用户角色来控制用户在打开基于表单模板的表单时可以看到的内容,从而简化业务流程并优化数据收集。 例如,假设你正在为许可证应用程序设计表单模板,其表单将由以下类型的用户使用:
- 需要申请许可证的电气承包商
- 接收代理,验证承包商的应用程序是否包含必要的信息
- 审阅提交的许可证申请以供审批的管理员
可以设计一个表单模板,该表单模板收集所有数据,并为每种类型的用户添加用户角色,而不是为每种类型的用户设计三个表单模板和管理这些数据。 用户角色确定通过基于每种类型的用户的自定义视图显示的数据。
注意
用户角色不应用于限制对表单中敏感数据的访问。 即使将表单模板设置为只读或隐藏基于用户角色的某些控件,用户也可能使用文本编辑程序(例如Microsoft记事本)来查看或修改表单模板 (.xsn) 文件并访问这些数据。
使用用户角色的方案
在很多情况下,用户角色对用户有利。 例如,使用用户角色,可以:
- 显示每个用户角色的唯一视图 可以设计表单模板,以便显示该表单模板的不同视图,具体取决于填写表单的人员。 例如,可以为申请许可证的电气承包商设计视图,为接收许可证申请的代理设计视图,并为审阅所有信息的管理员设计视图。 每个视图仅显示适用于每个用户角色的数据。
- 显示每个用户角色的不同部分 可以设计一个表单模板,该模板将显示不同的部分,具体取决于填写表单的人员。 例如,当员工打开表单时,可以显示仅适用于员工的支出报表表单模板中的节。 当经理打开表单时,可以显示另一个仅适用于正在批准支出报表的经理的部分。
- 为基于每个用户角色的字段设置数据验证 可以设计表单模板,以便根据填写表单的人员的用户角色,将不同的数据验证应用于绑定到特定字段的控件。 例如,可以将经理的最大费用值设置为一个限制,并为管理员设置更高的同一文本框的最大值。 如果经理填写了表单并超过了该数量,则会出现一个对话框。 如果管理员填写了表单,则文本框将接受一个值,否则如果经理填写了表单,该值将被拒绝。
- 将表单数据提交到基于每个用户角色的外部数据源 例如,可以设计表单模板,以便需要申请许可证的电气承包商只能将已完成的表单提交到 Web 服务,接收代理只能将其表单提交到 SQL 数据库。 如果应用程序已获批准,管理员可以将其表单数据提交到数据库和电子邮件中,或者如果应用程序被拒绝,则只能将其表单数据提交到数据库。
创建和分配用户角色
创建新的用户角色时,可以通过以下方式将用户分配到该角色:
- 通过指定 Microsoft Active Directory 目录服务 (的用户名,例如,“sales\andrew”) 。 若要在 Active Directory 目录服务中指定用户名,必须在中创建表单模板,并将其发布到使用 Active Directory 的Microsoft Windows 网络。
- 通过指定 Active Directory 目录服务中的组。 例如,可以指定包含营销团队所有成员姓名的电子邮件通讯组列表。 若要在 Active Directory 目录服务中指定组,必须在中创建表单模板并将其发布到使用 Active Directory 的Microsoft Windows 网络。
- 通过指定直接来自窗体中的字段的值。 字段可以从 Active Directory 获取数据,或者用户可以将数据输入到绑定到此字段的控件中。 例如,如果表单模板包含 管理员 文本框,则可以将特定用户角色与该文本框绑定到的字段相关联。
添加用户角色后,可以将其设置为以下选项之一:
默认角色 未分配到现有用户角色的用户会自动分配到指定为默认角色的用户角色。 默认角色还用于属于组但脱机工作的用户。 始终将一个用户角色设置为默认值。
发起方角色 如果要将特定用户角色应用于首次打开表单的用户,可以指定发起人角色。 例如,可以定义一个名为“Contractor”的发起人角色,该角色适用于填写新许可证申请表单的用户。 分配到其他用户角色的用户在打开新的许可申请表单时,将自动重新分配到承包商角色。 但是,下次该用户打开同一窗体时,Microsoft Office InfoPath 将使用该用户分配的用户角色,而不是发起人角色。
如果已根据字段中的用户名、组或值的任意组合为用户分配角色,当用户打开基于表单模板的表单时,InfoPath 将使用以下顺序确定要分配给该用户的角色:
用户的名称是表单模板中字段的值。
用户的名称位于 Active Directory 中。
用户是 Active Directory 组的成员。
注意
如果用户是多个组的成员,并且你要分配基于组的用户角色,InfoPath 会按照该组在 “管理用户角色 ”对话框中列出的顺序检查每个组的成员列表。 例如,如果用户是接收代理组和管理员组的成员,并且管理员组列在接收代理组之前,则将为该用户分配管理员组的用户角色。
如果上述任一项均为 true,则使用默认角色。
为表单模板定义用户角色后,可以设置一个规则,以根据用户的角色自动切换视图。 例如,可以创建一个经理用户角色,然后创建一个规则,以便在分配到经理角色的用户打开窗体时自动切换到经理视图。 或者,可以先创建规则,然后在创建规则的过程中定义用户角色。
还可以根据用户角色来改变控件的行为。 例如,只能为特定用户角色启用控件,而其他用户角色可以查看控件中的数据,但无法对其进行修改。 根据用户角色限制谁可以将数据输入控件的功能是确保输入控件中的数据来自合法来源的一种方法。 例如,可以在许可申请表单模板中设置“审批检查”框,只有管理员用户角色的成员才能选择该框,指示该许可证已获批准。 分配给任何其他用户角色的用户(例如提交应用程序的承包商)将只看到“检查”框,但无法选择或清除它。