defineApplicationRole() 标记的角色的权限(参见下文的 默认函数角色)。
src/roles/restricted-company-role.ts
默认函数角色
当你使用脚手架创建新应用时,CLI 会创建一个使用defineApplicationRole() 声明的默认角色文件:
src/roles/default-role.ts
defineApplicationRole() 是 defineRole() 的一个轻量包装,它会标记在应用安装时用作应用默认角色的该角色。 验证与 defineRole 完全相同,但构建流水线会自动将其 universalIdentifier 注入到应用清单的 defaultRoleUniversalIdentifier 中——因此你无需在 defineApplication 中自行引用它。
备注:
- 每个应用只允许有且仅有 一个
defineApplicationRole(...)——如果发现多于一个,清单构建将失败。 - 对于你的应用随附的任何额外角色,请使用
defineRole()(而不是defineApplicationRole())。 - 在
defineApplication()上显式设置defaultRoleUniversalIdentifier仍然受支持以保持向后兼容性,但已经弃用,推荐使用defineApplicationRole()。
最佳实践
- 从脚手架生成的角色开始,然后逐步收紧它的权限——默认角色授予广泛的读取访问权限,而这在生产环境中很少是你想要的。
- 将
objectPermissions和fieldPermissions替换为你的函数实际需要的精确对象和字段。 permissionFlagUniversalIdentifiers控制对平台级能力的访问。 尽量保持最小化。- 查看一个可运行示例:
hello-world/src/roles/function-role.ts。