为了账号安全,请及时绑定邮箱和手机立即绑定

立即在服务中设置使用脚本 API 创建的用户的密码

立即在服务中设置使用脚本 API 创建的用户的密码

慕森卡 2021-10-14 17:22:01
我现在是该服务的新手,正在尝试使用 Service Now 构建客户端 Web 应用程序。我的要求是使用我的 Web 应用程序在 Service Now 中注册用户。我曾尝试使用 Table API 和 Scripted Rest API 来做到这一点。虽然我能够创建用户(在 sys_user 表中创建一个条目),但创建的用户无法登录 Service Now 门户。如果我以管理员身份登录并更改创建的用户的密码,用户就可以登录了。请告诉我我做错了什么?下面是我的脚本 API -(function process( /*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {  // implement resource here  var requestBody = request.body.data;  var gr = new GlideRecord('sys_user');  gr.initialize();  gr.user_name = requestBody.user_name;  gr.first_name = requestBody.first_name;  gr.last_name = requestBody.last_name;  gr.title = requestBody.title;  gr.department = requestBody.department;  gr.user_password = requestBody.user_password;  gr.active = requestBody.active;  gr.email = requestBody.email;  gr.mobile_phone = requestBody.mobile_phone;  gr.insert();  //Create a body object.  Add property value pairs to the body.  var body = {};  body.user_name = gr.user_name;  body.sys_id = gr.sys_id;  body.password = gr.user_password;  response.setBody(body);})(request, response);
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

我找到了这个问题的钩子。当您创建用户而不是在 gr.insert() 之前设置密码时,请尝试按照以下代码更新设置密码的记录。


gr.user_password.setDisplayValue(requestBody.user_password);

gr.update();

看起来 sys_user 表中的密码是一种单向加密字段。所以需要设置显示值。


查看完整回答
反对 回复 2021-10-14
  • 1 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信