- OrientDB 教程
- OrientDB - 首页
- OrientDB - 概述
- OrientDB - 安装
- OrientDB - 基本概念
- OrientDB - 数据类型
- OrientDB - 控制台模式
- OrientDB 数据库命令
- OrientDB - 创建数据库
- OrientDB - 修改数据库
- OrientDB - 备份数据库
- OrientDB - 恢复数据库
- OrientDB - 连接数据库
- OrientDB - 断开数据库连接
- OrientDB - 数据库信息
- OrientDB - 列出数据库
- OrientDB - 冻结数据库
- OrientDB - 解冻数据库
- OrientDB - 配置数据库
- OrientDB - 导出数据库
- OrientDB - 导入数据库
- OrientDB - 提交数据库
- OrientDB - 回滚数据库
- OrientDB - 优化数据库
- OrientDB - 删除数据库
- OrientDB 记录命令
- OrientDB - 插入记录
- OrientDB - 显示记录
- OrientDB - 加载记录
- OrientDB - 重新加载记录
- OrientDB - 导出记录
- OrientDB - 更新记录
- OrientDB - 清空记录
- OrientDB - 删除记录
- OrientDB 类命令
- OrientDB - 创建类
- OrientDB - 修改类
- OrientDB - 清空类
- OrientDB - 删除类
- OrientDB 集群命令
- OrientDB - 创建集群
- OrientDB - 修改集群
- OrientDB - 清空集群
- OrientDB - 删除集群
- OrientDB 属性命令
- OrientDB - 创建属性
- OrientDB - 修改属性
- OrientDB - 删除属性
- OrientDB 顶点命令
- OrientDB - 创建顶点
- OrientDB - 移动顶点
- OrientDB - 删除顶点
- OrientDB 边命令
- OrientDB - 创建边
- OrientDB - 更新边
- OrientDB - 删除边
- OrientDB 高级概念
- OrientDB - 函数
- OrientDB - 序列
- OrientDB - 索引
- OrientDB - 事务
- OrientDB - Hook
- OrientDB - 缓存
- OrientDB - 日志
- OrientDB - 性能调优
- OrientDB - 升级
- OrientDB - 安全性
- OrientDB - Studio
- OrientDB 接口
- OrientDB - Java 接口
- OrientDB - Python 接口
- OrientDB 有用资源
- OrientDB - 快速指南
- OrientDB - 有用资源
- OrientDB - 讨论
OrientDB - 安全性
与RDBMS类似,OrientDB也基于众所周知的概念、用户和角色提供安全性。每个数据库都有自己的用户,每个用户拥有一个或多个角色。角色是工作模式和权限集的组合。
用户
默认情况下,OrientDB为服务器中的所有数据库维护三个不同的用户:
管理员 (Admin) - 此用户对数据库的所有功能均具有不受限制的访问权限。
读取者 (Reader) - 此用户是只读用户。读取者可以查询数据库中的任何记录,但不能修改或删除它们。它无权访问内部信息,例如用户和角色本身。
写入者 (Writer) - 此用户与读取者用户相同,但它还可以创建、更新和删除记录。
使用用户
连接到数据库后,您可以使用SELECT查询在OUser类上查询数据库上的当前用户。
orientdb> SELECT RID, name, status FROM OUser
如果上述查询成功执行,您将获得以下输出。
---+--------+--------+-------- # | @CLASS | name | status ---+--------+--------+-------- 0 | null | admin | ACTIVE 1 | null | reader | ACTIVE 2 | null | writer | ACTIVE ---+--------+--------+-------- 3 item(s) found. Query executed in 0.005 sec(s).
创建新用户
要创建新用户,请使用INSERT命令。请记住,在执行此操作时,必须将状态设置为ACTIVE并赋予其有效角色。
orientdb> INSERT INTO OUser SET
name = 'jay',
password = 'JaY',
status = 'ACTIVE',
roles = (SELECT FROM ORole WHERE name = 'reader')
更新用户
您可以使用UPDATE语句更改用户名。
orientdb> UPDATE OUser SET name = 'jay' WHERE name = 'reader'
同样,您也可以更改用户的密码。
orientdb> UPDATE OUser SET password = 'hello' WHERE name = 'reader'
OrientDB以哈希格式保存密码。触发器OUserTrigger在保存记录之前会透明地加密密码。
禁用用户
要禁用用户,请使用UPDATE将其状态从ACTIVE切换为SUSPENDED。例如,如果您想禁用除管理员以外的所有用户,请使用以下命令:
orientdb> UPDATE OUser SET status = 'SUSPENDED' WHERE name <> 'admin'
角色
角色决定用户可以对资源执行哪些操作。主要取决于工作模式和规则。规则本身的工作方式不同,取决于工作模式。
使用角色
连接到数据库后,您可以使用SELECT查询在ORole类上查询数据库上的当前角色。
orientdb> SELECT RID, mode, name, rules FROM ORole
如果上述查询成功执行,您将获得以下输出。
--+------+----+--------+-------------------------------------------------------
# |@CLASS|mode| name | rules
--+------+----+--------+-------------------------------------------------------
0 | null | 1 | admin | {database.bypassRestricted = 15}
1 | null | 0 | reader | {database.cluster.internal = 2, database.cluster.orole = 0...
2 | null | 0 | writer | {database.cluster.internal = 2, database.cluster.orole = 0...
--+------+----+--------+-------------------------------------------------------
3 item(s) found. Query executed in 0.002 sec(s).
创建新角色
要创建新角色,请使用INSERT语句。
orientdb> INSERT INTO ORole SET name = 'developer', mode = 0
使用模式
规则确定属于特定角色的用户可以在数据库上执行哪些操作,而工作模式则决定OrientDB如何解释这些规则。有两种工作模式,分别用1和0表示。
允许所有但(规则) - 默认情况下,这是超级用户模式。使用规则指定对此的例外。如果OrientDB找不到请求资源的规则,则允许用户执行操作。主要将此模式用于高级用户和管理员。默认角色admin默认使用此模式,并且没有例外规则。它在数据库中写为1。
拒绝所有但(规则) - 默认情况下,此模式不允许任何操作。使用规则指定对此的例外。如果OrientDB找到请求资源的规则,则允许用户执行操作。将此模式用作所有经典用户的默认模式。默认角色读取者和写入者使用此模式。它在数据库中写为0。