用户登录

之前我们在 HTTP 客户端请求 SurrealDB 的 sql 接口的时候,一直用的是 root 用户的权限。使用 DEFINE LOGIN 可以创建新的登录用户,指定这个用户在命名空间里的权限。

复制一份请求,名字改成“命名空间权限”,先执行一下 USE NS ninghao; 使用 ninghao 这个命名空间,然后执行 DEFINE LOGIN 用户名可以设置成 ninghao,ON NAMESPACE,在 PASSWORD 后面,设置一下 ninghao 这个用户的密码,比如 '258369'。然后用 INFO FOR NS 查看一下命名空间相关信息。

执行一下,这样我们就创建了一个登录用户,用户的名字是 ninghao,这个用户拥有 ninghao 这个命名空间的权限。

在查看命名空间信息的结果里面显示,nl 里面有个 ninghao,这个 nl 指的就是 Namespace Login。

测试

下面再复制一份这个请求,名字是“测试命名空间权限”。

修改一下请求的身份验证,现在用的是 root 用户的身份,我们把用户名换成 ninghao,密码设置成 258369。

在请求执行一段查询,USE NS paii; 返回的结果会显示 “You don't have permission” ,没有权限使用 paii 这个命名空间。因为定义 ninghao 这个用户的时候,指定的命名空间是 ninghao。

执行一下 USE NS ninghao,再用 INFO FOR NS 查看这个命名空间相关信息。这次没有提示权限问题,因为 ninghao 这个用户有权限使用 ninghao 这个命名空间。

在上面再用 DEFINE DATABASE 定义一个数据库,名字是 qinglong,执行一下。在命名空间信息里面,显示 ninghao 这个命名空间里多了一个名字是 qinglong 的数据库。

定义用户的命名空间权限(登录命名空间)《 SurrealDB 多模型数据库:权限管理 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点