如何实现业务用户后台登录
背景信息
业务用户在后台登录时,是使用自定义的服务编排,来调用“账号密码校验”脚本,查询登录账号密码,判断当前登录的账号密码是否正确来实现“业务用户”后台登录功能的。“业务用户登录”服务编排开发的大致过程为:先拖拽1个脚本图元,3个决策图元以及3个赋值图元,再分别配置各个图元属性,然后配置各个图元之间连线类型,最后保存启用。
下面以“A”应用为例,向您介绍如何在后台实现业务用户登录。
操作步骤
- 在“我的应用”中,单击“A”应用,进入应用开发页面。
- 在开发页面中,单击“目录”,创建一个Flow目录。
图1 创建目录
- 将鼠标放在“Flow”上,单击界面上出现的“+”,在弹出菜单中选择“服务编排”。
图2 选择服务编排
- 选中“创建一个新的服务编排”,“标签”和“名称”设置为“login”,类型设置为“Autolaunched Flow”,单击“添加”。
图3 创建服务编排
- 定义服务编排用到的变量。
- 拖拽图元到服务编排画布,并配置图元的基本属性。
- 从图元区分别拖拽脚本(1个)、决策(3个)、赋值(3个)图元到画布中,图元排列如下图所示。
图6 图元排列
- 选中“Script0”图元,在右侧基本信息中,设置“标签”为“查询用户”。
- 参考上一步,设置其他图元的“标签”属性,具体值如下表所示。
表3 设置其他图元标签属性 名称(变量唯一标识,不需要修改)
标签
Decision0
判断账号密码
Decision1
判断是否包含验证码
Decision2
校验验证码
Assignment0
账号密码错误
Assignment1
执行登录
Assignment2
验证失败
图7 修改后图元
- 从图元区分别拖拽脚本(1个)、决策(3个)、赋值(3个)图元到画布中,图元排列如下图所示。
- 配置“查询用户”脚本图元。
- 单击,指定图元对应的脚本名称 (SYL__login),并配置脚本的输入输出参数。
图8 指定脚本
- 单击“全局上下文”,显示变量列表,从“变量”中,拖拽“username”、“password”和“captcha”到“输入参数”下对应的“源”输入框中,在“输出参数”下,单击4次“新增行”,依次添加下拉选项中的输出参数字段,并从“变量”中拖拽相应的字段到“目标”输入框下,字段与变量对应关系如下图所示。
脚本图元中,输入参数、输出个数和指定脚本中需要的输入参数字段数是一致的。如果自定义脚本的输入参数有额外字段,额外的字段也需要同样操作。
请直接从全局上下文拖拽“变量”到对应的输入输出参数下,如果手动输入请确认输入参数与全局上下文中变量的值一致。
图9 拖拽脚本的输入输出参数
- 单击,指定图元对应的脚本名称 (SYL__login),并配置脚本的输入输出参数。
- 配置“判断账号密码”决策图元。
- 选择“判断账号密码”图元,在右侧单击图标,修改“默认”的“名称”为“CheckFail”。
图10 修改“默认”结果名称
- 单击“新增”,增加一个可编辑的结果,修改结果为“CheckSuccess”,在“可视”下单击“新增行”,并拖拽变量中的“msg”到“资源”下,设置“比较符”为“==”,“值”为“"登录成功!"”。
- 请直接从全局上下文拖拽变量“msg”到“资源”下,如果手动输入请确认输入参数与全局上下文中变量的值一致。
- “登录成功!”需要与“login”登录脚本中的输出参数一致。
图11 修改可编辑的结果
- 选择“判断账号密码”图元,在右侧单击图标,修改“默认”的“名称”为“CheckFail”。
- 配置“判断是否包含验证码”决策图元。
- 选择“判断是否包含验证码”图元,在右侧单击图标,修改“默认”的“名称”为“hasVerifyCode”。
图12 修改默认结果名称
- 单击“新增”,增加一个可编辑的结果,修改结果为“noVerifyCode”,在“可视”下单击“新增行”,并拖拽变量中的“captcha”到“资源”下,设置“比较符”为“==”,“值”为“""”。
图13 修改可编辑的结果
- 选择“判断是否包含验证码”图元,在右侧单击图标,修改“默认”的“名称”为“hasVerifyCode”。
- 配置“校验验证码”决策图元。
- 选择“校验验证码”图元,在右侧单击图标,修改“默认”的“名称”为“verifyCodeFail”。
图14 修改“默认”名称
- 单击“新增”,增加一个可编辑的结果,修改结果为“verifyCodeSuccess”,在右侧选择“公式”,并从全局上下文中,拖拽“verifyCode”到“公式”下。
图15 修改可编辑的结果
- 选择“校验验证码”图元,在右侧单击图标,修改“默认”的“名称”为“verifyCodeFail”。
- 配置“账号密码错误”赋值图元。
- 选择“账号密码错误”图元,在右侧单击图标,单击“新增行”。
- 从全局上下文的“系统变量”中,拖拽“$Flow.ResMsg”到“赋值”下,并设置“操作符”为“=”,拖拽“msg”到“值”。
- 单击“新增行”,拖拽“系统变量”下的“$Flow.ResCode”到“赋值”的“变量”下,设置“操作符”为“=”,设置“值”为“"1"”。
请直接从全局上下文拖拽变量到“值”下的对应位置,如果手动输入请确认输入参数与全局上下文中变量的值一致。
图16 配置“账号密码错误”图元
- 配置“执行登录”赋值图元。
- 选择“执行登录”图元,在右侧单击图标,单击4次“新增行”。
- 从全局上下文,拖拽“msg”等字段到“赋值”的“变量”下,并设置“操作符”为“=”,然后再拖拽“值”下的各个值,具体字段对应关系,如下图所示。
图17 拖拽“执行登录”赋值的变量及值
请直接从全局上下文拖拽变量到“值”下的对应位置,如果手动输入请确认输入参数与全局上下文中变量的值一致。
表4 变量与值对应关系 变量
操作符
值
loginMsg
=
portalUserLogin
msg
=
msg
username
=
username
userId
=
userId
- 配置“验证失败”赋值图元。
- 选择“验证失败”图元,在右侧单击图标,单击“新增行”。
- 从全局上下文“系统变量”,拖拽“$Flow.ResMsg”、“$Flow.ResCode”到“赋值”下,并设置操作符为“=”,分别设置“值”为“"账号或者密码错误!"”、“"1"”。
表5 赋值 变量
操作符
值
$Flow.ResMsg
=
"账号或者密码错误!"
$Flow.ResCode
=
"1"
图18 配置“验证失败”赋值图元
- 拖拽图元连线,并配置连线属性。
- 在画布上,把鼠标放在起点图元图元上,从“+”拖动鼠标,在起点图元和“查询用户”图元间增加连线;即将当前脚本设置为服务编排的起始节点。
- 依次在“查询用户”、“判断账号密码”、“判断是否包含验证码”、“执行登录”图元直接拖拽连线。
图19 拖拽连线
- 单击“判断账号密码”与“判断是否包含验证码”图元之间的连线,再右侧属性单击,在“连线”中修改“连线类型”为“CheckSuccess”。
图20 选中连线
图21 修改连线类型
- 单击“判断是否包含验证码”与“执行登录”图元之间的连线,再右侧属性单击,在“连线”中修改“连线类型”为“noVerifyCode”。
- 从“判断账号密码”图元上,拖拽一条连线到“账号密码错误”图元。
- 从“判断是否包含验证码”图元上,拖拽一条连线到“校验验证码”图元。
- 从“校验验证码”图元上,拖拽一条连线到“验证失败”图元。
- 从“校验验证码”图元上,拖拽一条连线到“执行登录”图元,并设置该连线的“连线类型”为“verifyCodeSuccess”。
连线拖拽完成,如下图所示。
图22 拖拽图元连线
- 定义服务编排的输入、输出参数,并保存服务编排。
- 鼠标在画布空白处点一下,单击右侧,设置服务编排的输入输出参数,如下图所示。
图23 拖拽服务编排的输入输出参数
- 服务编排的输入参数是用来执行服务编排时输入的参数,同时也是执行账号密码校验脚本时的输入参数。所以当账号密码校验脚本的有额外的输入参数字段,服务编排的输入参数也需要同步增加。
- 服务编排的输出参数是执行账号密码校验脚本时返回的参数,所以当账号密码校验脚本的有额外的输出参数字段,服务编排的输出参数也需要同步增加。
- 单击服务编排页面上方的,保存服务编排。
- 鼠标在画布空白处点一下,单击右侧,设置服务编排的输入输出参数,如下图所示。
- 测试服务编排能否正常执行。
- 登录测试成功后,再次使用租户账号登录AstroZero,进入“A”应用,选择刚刚测试成功的“login”服务编排进入编辑器,单击编辑器上方的,启用并发布服务编排。
- 服务编排发布后,单击“A”应用开发页面左下角的“服务”,进入自定义访问控制(前后置处理)页面。
图26 服务
- 单击“新建”,新建公共接口。
图27 新建公共接口
在新建公共接口时,在资源中选择已发布的服务编排。URL填写的内容是定义新建的公共接口提供外部访问的URL。
- 公共接口创建完成后,参考如何给接口添加业务权限凭证中操作,给测试成功的服务编排添加业务权限凭证。
图28 给服务编排添加业务权限