基于角色的访问控制
基于角色的访问控制
控制谁可以查看您的文档
RBAC 根据用户角色控制对页面、部分和其他导航项目的访问。它与密码保护、JWT 和 OAuth 身份验证配合使用。
RBAC 对于合作伙伴文档、测试版功能、分层访问和内部内容非常有用。在使用 JWT 或 OAuth 身份验证时,您可以将其与 API 密钥注入结合使用。配置 RBAC 后,Ask Fern 会自动遵守这些权限。默认情况下,受限页面对未授权用户完全隐藏——如果您希望它们可见但被锁定,请在设置期间告知 Fern。
设置
要启用 RBAC,首先设置身份验证方法——密码保护、JWT 或 OAuth——然后在 docs.yml 中定义您的角色:
每个用户都会自动获得 everyone 角色,包括未经身份验证的访问者。如果用户缺乏所需角色或未经身份验证,Fern 会将他们重定向到您的登录页面。您可以定义的角色数量没有限制,除非您使用密码保护,它最多支持三个角色。
限制内容
配置 RBAC 后,在导航中使用 viewers,在页面中使用 <If /> 组件来控制每个角色可以看到的内容。
在导航中
您可以为以下导航项目分配 viewers:products、versions、tabs、sections、pages、api references 和 changelogs。
如果您不指定查看者,内容将对任何经过身份验证的用户可见。要使内容公开访问,请明确将查看者设置为 everyone。
查看权限是继承的。例如,如果某个部分只能由 admins 查看,那么它的所有页面和嵌套部分也只能由管理员查看。
在 MDX 页面中
使用 <If /> 组件根据用户角色有条件地渲染内容。您可以指定一个或多个角色。内容对具有任何指定角色的用户可见:
您还可以将 roles 与 products 和 versions 属性结合使用。