SurrealDB多作用域用户登录授权咨询:能否单次登录统一管理?
SurrealDB 多作用域用户的登录管理
不用针对每个作用域重复登录,单次登录就能统一管理用户所属的所有作用域,具体逻辑和操作方式如下:
- 会话绑定用户,而非单个作用域:SurrealDB的认证会话是和用户账号绑定的,执行
LOGIN指令获取的会话令牌,会包含该用户的完整身份信息,包括其所有已配置的作用域。 - 权限校验自动适配作用域:用已登录的会话执行操作时,SurrealDB会自动检查当前用户是否拥有该操作对应资源所需的作用域权限,不需要手动切换作用域或重新登录。
- 多作用域的配置示例:创建用户时可以直接指定多个作用域,比如:
后续如果要调整用户的作用域,用CREATE user:kitakami SET email = 'user@example.com', pass = crypto::argon2::generate('password123'), scopes = ['admin', 'editor', 'viewer'];UPDATE语句修改即可:UPDATE user:kitakami SET scopes += ['moderator']; - 注意事项:如果后续修改了用户的作用域列表,需要重新登录才能让会话加载最新的权限配置,否则旧会话会沿用登录时的作用域信息。
内容的提问来源于stack exchange,提问作者KitakamiKyle
相关产品推荐
相关产品推荐

