createUser
语法
createUser(userId, password, [groupIds], [isAdmin=false],
[authMode])
详情
创建用户。
groupIds 表示的组必须是已经创建了的组。
参数
userId 是表示用户名的字符串。它只能包含字母、下划线或数字,并且它不能以数字或下划线开头。长度不能超过30个字符。
password 是表示用户密码的字符串。它不能包含空格或控制字符。
从 2.00.10.10 开始,用户可以通过配置项 enhancedSecurityVerification 控制是否对 password 进行复杂性校验。若不设置 enhancedSecurityVerification,则不校验;若设置 enhancedSecurityVerification=true,则要求密码必须满足以下条件:
-
字符个数为8~20
-
至少包含一个大写字母
-
至少包含以下字符之一:!"#$%&'()*+,-./:;<=>?@[]^_`{|}~。
groupIds 可选参数,是表示用户所属组的字符串标量或向量。
isAdmin 可选参数,是表示用户是否为管理员的布尔值。
authMode 可选参数,指定该用户的登录认证方式。默认为”sha256”,即用户通过 login
函数登录,使用
SHA-256 算法认证。另支持指定为”scram”,使用 SCRAM (Salted Challenge Response Authentication
Mechanism) 协议登录。
- SCRAM 基于 IETF's RFC 5802 标准实现,通过高强度的哈希算法,双向验证等措施,为用户通过密码登录的方式提供更高的安全性。
- DolphinDB 的 API 已支持 SCRAM 认证方式:
- 通过 API 的原生方法连接 DolphinDB 服务器时, API 端将优先采用 SCRAM 方式登录。
- 如该用户未启用 SCRAM 认证,则自动回退至默认登录方式。
- 若不使用 API 提供的封装好的接口,自行使用 SCRAM 登录时,需调用 DolphinDB 服务端函数 scramClientFirst 和 scramClientFinal。具体流程与配置要求请见对应函数文档。
- 启用 SCRAM 认证后,
login
,resetPwd
,changePwd
等密码相关函数仍然有效。
例子
创建一个名称为 "JohnSmith",密码为 'Qb0507#$' 的非管理员用户,登录时默认使用 SHA-256 算法进行认证。该用户属于组 "research" 和组 "production"。
createUser(`JohnSmith, "Qb0507#$", `research`production);