更新时间:2024-04-28 GMT+08:00
分享

如何实现业务用户后台登录

背景信息

业务用户在后台登录时,是使用自定义的服务编排,来调用“账号密码校验”脚本,查询登录账号密码,判断当前登录的账号密码是否正确来实现“业务用户”后台登录功能的。“业务用户登录”服务编排开发的大致过程为:先拖拽1个脚本图元,3个决策图元以及3个赋值图元,再分别配置各个图元属性,然后配置各个图元之间连线类型,最后保存启用。

下面以“A”应用为例,向您介绍如何在后台实现业务用户登录。

操作步骤

  1. 在“我的应用”中,单击“A”应用,进入应用开发页面。
  2. 在开发页面中,单击“目录”,创建一个Flow目录。

    图1 创建目录

  3. 将鼠标放在“Flow”上,单击界面上出现的“+”,在弹出菜单中选择“服务编排”。

    图2 选择服务编排

  4. 选中“创建一个新的服务编排”,“标签”和“名称”设置为“login”,类型设置为“Autolaunched Flow”,单击“添加”。

    图3 创建服务编排

  5. 定义服务编排用到的变量。

    1. 单击,展开全局上下文,再单击“变量”后的,设置参数名称为“username”。
      图4 新增变量
    2. 重复上一步,定义表1中其他变量。
      表1 服务编排变量说明

      名称(变量名称,唯一标识)

      数据类型

      username

      文本

      password

      文本

      captcha

      文本

      msg

      文本

      userId

      文本

      loginMsg

      文本

    3. 单击“公式”后的,在左侧公式弹窗中,设置“名称”为“portalUserLogin”,“表达式”为“PORTALUSERLOGIN({!username})”,单击“保存”。
      图5 添加公式变量“portalUserLogin”
    4. 参考上一步,创建表2中公式变量“verifyCode”。
      表2 公式变量说明

      名称

      表达式

      portalUserLogin

      PORTALUSERLOGIN({!username})

      verifyCode

      VERIFYCODEWITHTYPE({!captcha},"login")

  6. 拖拽图元到服务编排画布,并配置图元的基本属性。

    1. 从图元区分别拖拽脚本(1个)、决策(3个)、赋值(3个)图元到画布中,图元排列如下图所示。
      图6 图元排列
    2. 选中“Script0”图元,在右侧基本信息中,设置“标签”为“查询用户”。
    3. 参考上一步,设置其他图元的“标签”属性,具体值如下表所示。
      表3 设置其他图元标签属性

      名称(变量唯一标识,不需要修改)

      标签

      Decision0

      判断账号密码

      Decision1

      判断是否包含验证码

      Decision2

      校验验证码

      Assignment0

      账号密码错误

      Assignment1

      执行登录

      Assignment2

      验证失败

      图7 修改后图元

  7. 配置“查询用户”脚本图元。

    1. 单击,指定图元对应的脚本名称 (SYL__login),并配置脚本的输入输出参数。
      图8 指定脚本
    2. 单击“全局上下文”,显示变量列表,从“变量”中,拖拽“username”、“password”和“captcha”到“输入参数”下对应的“源”输入框中,在“输出参数”下,单击4次“新增行”,依次添加下拉选项中的输出参数字段,并从“变量”中拖拽相应的字段到“目标”输入框下,字段与变量对应关系如下图所示。

      脚本图元中,输入参数、输出个数和指定脚本中需要的输入参数字段数是一致的。如果自定义脚本的输入参数有额外字段,额外的字段也需要同样操作。

      请直接从全局上下文拖拽“变量”到对应的输入输出参数下,如果手动输入请确认输入参数与全局上下文中变量的值一致。

      图9 拖拽脚本的输入输出参数

  8. 配置“判断账号密码”决策图元。

    1. 选择“判断账号密码”图元,在右侧单击图标,修改“默认”的“名称”为“CheckFail”。
      图10 修改“默认”结果名称
    2. 单击“新增”,增加一个可编辑的结果,修改结果为“CheckSuccess”,在“可视”下单击“新增行”,并拖拽变量中的“msg”到“资源”下,设置“比较符”为“==”,“值”为“"登录成功!"”。
      • 请直接从全局上下文拖拽变量“msg”到“资源”下,如果手动输入请确认输入参数与全局上下文中变量的值一致。
      • “登录成功!”需要与“login”登录脚本中的输出参数一致。
      图11 修改可编辑的结果

  9. 配置“判断是否包含验证码”决策图元。

    1. 选择“判断是否包含验证码”图元,在右侧单击图标,修改“默认”的“名称”为“hasVerifyCode”。
      图12 修改默认结果名称
    2. 单击“新增”,增加一个可编辑的结果,修改结果为“noVerifyCode”,在“可视”下单击“新增行”,并拖拽变量中的“captcha”到“资源”下,设置“比较符”为“==”,“值”为“""”。
      图13 修改可编辑的结果

  10. 配置“校验验证码”决策图元。

    1. 选择“校验验证码”图元,在右侧单击图标,修改“默认”的“名称”为“verifyCodeFail”。
      图14 修改“默认”名称
    2. 单击“新增”,增加一个可编辑的结果,修改结果为“verifyCodeSuccess”,在右侧选择“公式”,并从全局上下文中,拖拽“verifyCode”到“公式”下。
      图15 修改可编辑的结果

  11. 配置“账号密码错误”赋值图元。

    1. 选择“账号密码错误”图元,在右侧单击图标,单击“新增行”。
    2. 从全局上下文的“系统变量”中,拖拽“$Flow.ResMsg”到“赋值”下,并设置“操作符”为“=”,拖拽“msg”到“值”。
    3. 单击“新增行”,拖拽“系统变量”下的“$Flow.ResCode”到“赋值”的“变量”下,设置“操作符”为“=”,设置“值”为“"1"”。

    请直接从全局上下文拖拽变量到“值”下的对应位置,如果手动输入请确认输入参数与全局上下文中变量的值一致。

    图16 配置“账号密码错误”图元

  12. 配置“执行登录”赋值图元。

    1. 选择“执行登录”图元,在右侧单击图标,单击4次“新增行”。
    2. 从全局上下文,拖拽“msg”等字段到“赋值”的“变量”下,并设置“操作符”为“=”,然后再拖拽“值”下的各个值,具体字段对应关系,如下图所示。
      图17 拖拽“执行登录”赋值的变量及值

      请直接从全局上下文拖拽变量到“值”下的对应位置,如果手动输入请确认输入参数与全局上下文中变量的值一致。

      表4 变量与值对应关系

      变量

      操作符

      loginMsg

      =

      portalUserLogin

      msg

      =

      msg

      username

      =

      username

      userId

      =

      userId

  13. 配置“验证失败”赋值图元。

    1. 选择“验证失败”图元,在右侧单击图标,单击“新增行”。
    2. 从全局上下文“系统变量”,拖拽“$Flow.ResMsg”、“$Flow.ResCode”到“赋值”下,并设置操作符为“=”,分别设置“值”为“"账号或者密码错误!"”、“"1"”。
    表5 赋值

    变量

    操作符

    $Flow.ResMsg

    =

    "账号或者密码错误!"

    $Flow.ResCode

    =

    "1"

    图18 配置“验证失败”赋值图元

  14. 拖拽图元连线,并配置连线属性。

    1. 在画布上,把鼠标放在起点图元图元上,从“+”拖动鼠标,在起点图元和“查询用户”图元间增加连线;即将当前脚本设置为服务编排的起始节点。
    2. 依次在“查询用户”、“判断账号密码”、“判断是否包含验证码”、“执行登录”图元直接拖拽连线。
      图19 拖拽连线
    3. 单击“判断账号密码”与“判断是否包含验证码”图元之间的连线,再右侧属性单击,在“连线”中修改“连线类型”为“CheckSuccess”。
      图20 选中连线
      图21 修改连线类型
    4. 单击“判断是否包含验证码”与“执行登录”图元之间的连线,再右侧属性单击,在“连线”中修改“连线类型”为“noVerifyCode”。
    5. 从“判断账号密码”图元上,拖拽一条连线到“账号密码错误”图元。
    6. 从“判断是否包含验证码”图元上,拖拽一条连线到“校验验证码”图元。
    7. 从“校验验证码”图元上,拖拽一条连线到“验证失败”图元。
    8. 从“校验验证码”图元上,拖拽一条连线到“执行登录”图元,并设置该连线的“连线类型”为“verifyCodeSuccess”。

    连线拖拽完成,如下图所示。

    图22 拖拽图元连线

  15. 定义服务编排的输入、输出参数,并保存服务编排。

    1. 鼠标在画布空白处点一下,单击右侧,设置服务编排的输入输出参数,如下图所示。
      图23 拖拽服务编排的输入输出参数
      • 服务编排的输入参数是用来执行服务编排时输入的参数,同时也是执行账号密码校验脚本时的输入参数。所以当账号密码校验脚本的有额外的输入参数字段,服务编排的输入参数也需要同步增加。
      • 服务编排的输出参数是执行账号密码校验脚本时返回的参数,所以当账号密码校验脚本的有额外的输出参数字段,服务编排的输出参数也需要同步增加。
    2. 单击服务编排页面上方的,保存服务编排。

  16. 测试服务编排能否正常执行。

    1. 单击服务编排页面上方的,进入服务编排测试页面。
      图24 服务编排测试页面
    2. 在“Flow Run”界面中,输入测试数据,单击“运行”。
      其中,“test_cs”、“{XXXXXXXX}”为业务用户的账号和密码。
      {
       "username": "test_cs",
       "password": "{XXXXXXXX}",
       "captcha": ""
       }

      执行成功后,界面上会返回设备对象中的全部信息,示例如下:

      图25 返回值示例

      返回值提示登录成功,完成业务用户的登录。业务用户登录成功后,返回AstroZero,刷新页面后在页面右上角可以看到当前登录的用户已变成在服务编排中输入的业务用户。

  17. 登录测试成功后,再次使用租户账号登录AstroZero,进入“A”应用,选择刚刚测试成功的“login”服务编排进入编辑器,单击编辑器上方的,启用并发布服务编排。
  18. 服务编排发布后,单击“A”应用开发页面左下角的“服务”,进入自定义访问控制(前后置处理)页面。

    图26 服务

  19. 单击“新建”,新建公共接口。

    图27 新建公共接口

    在新建公共接口时,在资源中选择已发布的服务编排。URL填写的内容是定义新建的公共接口提供外部访问的URL。

  20. 公共接口创建完成后,参考如何给接口添加业务权限凭证中操作,给测试成功的服务编排添加业务权限凭证。

    图28 给服务编排添加业务权限

分享:

    相关文档

    相关产品