文档中心

SequoiaDB 简介

快速入门

安装部署

数据库实例

分布式引擎

SAC 管控中心

SequoiaPerf 性能分析工具

参考手册

常见问题及解答(FAQ)

版本信息

getRole()

名称

getRole - 获取角色的信息

语法

db.getRole(<rolename>, [options] )

类别

Sdb

描述

该函数用于获取指定自定义角色自定义角色内建角色的信息

参数

  • rolename ( string,必填 ) 通过 rolename 指定角色

  • options ( object,选填 ) 额外参数

    • ShowPrivileges ( boolean ) 展示角色的权限,默认值为 false

返回值

函数执行成功时,将返回一个 BSONObj 类型的对象。通过该对象获取角色的详细信息。

函数执行失败时,将抛异常并输出错误信息。

错误

常见异常如下:

错误码 错误类型 描述 解决方法
-409 SDB_AUTH_ROLE_NOT_EXIST 指定角色不存在

当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南

版本

v5.8 及以上版本

示例

  • 在集群中获取名为 foo_developer 的角色,不开启 ShowPrivileges 选项

    > db.getRole("foo_developer")
    {
        "_id": {
            "$oid": "64c0eb5e8c7c328f60bc6d71"
        },
        "Role": "foo_developer",
        "Roles": [
            "_foo.readWrite"
        ],
        "InheritedRoles": [
            "_foo.readWrite"
        ]
    }
  • 在集群中获取名为 foo_developer 的角色,开启 ShowPrivileges 选项

    > db.getRole("foo_developer", {ShowPrivileges:true})
    {
        "_id": {
            "$oid": "64c0eb5e8c7c328f60bc6d71"
        },
        "Role": "foo_developer",
        "Privileges": [
            {
            "Resource": {
                "Cluster": true
            },
            "Actions": [
                "snapshot"
            ]
            }
        ],
        "Roles": [
            "_foo.readWrite"
        ],
        "InheritedRoles": [
            "_foo.readWrite"
        ],
        "InheritedPrivileges": [
            {
            "Resource": {
                "Cluster": true
            },
            "Actions": [
                "snapshot"
            ]
            },
            {
            "Resource": {
                "cs": "foo",
                "cl": ""
            },
            "Actions": [
                "find",
                "insert",
                "update",
                "remove",
                "getDetail"
            ]
            }
        ]
    }
  • 在集群中获取名为 _foo.readWrite 的内建角色,开启 ShowPrivileges 选项

    > db.getRole("_foo.readWrite", {ShowPrivileges:true})
    {
        "Role": "_foo.readWrite",
        "Roles": [],
        "InheritedRoles": [],
        "Privileges": [
            {
            "Resource": {
                "cs": "foo",
                "cl": ""
            },
            "Actions": [
                "find",
                "insert",
                "update",
                "remove",
                "getDetail"
            ]
            }
        ],
        "InheritedPrivileges": [
            {
            "Resource": {
                "cs": "foo",
                "cl": ""
            },
            "Actions": [
                "find",
                "insert",
                "update",
                "remove",
                "getDetail"
            ]
            }
        ]
    }
回到顶部