You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过B1 Service Layer获取SSO登录对应的SAP内部用户?

解决SAP Business One Service Layer中AD账号关联内部用户的查询问题

在通过AD账号成功登录Service Layer后,默认的Users接口返回字段不包含AD关联信息,可通过以下几种方式获取对应SAP内部用户:

  • 指定返回AD关联字段
    调用Users接口时,使用$select参数明确指定需要返回的AD相关字段(如AdUser、InternalKey),请求示例:

    GET https://hana:50000/b1s/v1/Users?$select=InternalKey,UserName,AdUser,FirstName,LastName
    
  • 过滤当前登录的AD用户
    结合$filter参数,根据已登录的AD账号(rz-nag\\02939106)精准过滤,直接定位对应的内部用户,请求示例:

    GET https://hana:50000/b1s/v1/Users?$select=InternalKey,AdUser,UserName&$filter=UserName eq 'rz-nag\\02939106'
    

    注意:过滤条件中的反斜杠需要转义,确保匹配正确。

  • 检查用户扩展字段
    若系统将AD关联信息存储在用户扩展字段(如自定义的U_ADUserID),可通过$select包含该字段,请求示例:

    GET https://hana:50000/b1s/v1/Users?$select=InternalKey,UserName,U_ADUserID
    
  • 通过SessionInfo获取当前用户信息
    登录后调用SessionInfo接口,返回结果中会包含当前登录用户的InternalKey(SAP内部用户主键)及基本信息,请求示例:

    GET https://hana:50000/b1s/v1/SessionInfo
    

内容的提问来源于stack exchange,提问作者Leotardo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 17:32:21