B2B Commerce LWR站点表达式获取认证用户详情返回undefined求助
B2B Commerce LWR 获取认证用户信息返回undefined的解决方法
核心原因:
{!User.userId}是Visualforce的表达式语法,LWR(Lightning Web Runtime)基于LWC构建,不兼容这种旧写法,这是你拿到undefined的关键原因。正确获取当前认证用户信息的方式:
- 在LWR组件的JS文件中,通过
@salesforce/userId模块导入用户ID:import { LightningElement } from 'lwc'; import userId from '@salesforce/userId'; export default class YourComponent extends LightningElement { currentUserId = userId; } - 在组件的HTML模板中,直接引用变量即可:
<p>当前用户ID:{currentUserId}</p>
- 在LWR组件的JS文件中,通过
额外检查项:
- 确认组件所在页面仅对已认证用户开放,未登录状态下用户ID会返回undefined
- 验证用户所属的Profile/Permission Set拥有该LWR组件的访问权限
- 确认B2B Commerce的认证流程已正确配置,用户确实处于登录状态
内容的提问来源于stack exchange,提问作者Rajesh B
相关产品推荐
相关产品推荐

