package com.yunhai.userbase.config; import com.yunhai.platform.auth.UserDetailsProvider; import com.yunhai.platform.utils.model.BoaUser; import com.yunhai.userbase.service.UserCenterService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * 平台 {@link UserDetailsProvider} 的 UserBase 本地实现:CAS 会话流解析出登录名/手机号后, * 由本类查 UserBase 自身库,组装成基础平台统一的 {@link BoaUser}。

* 以 {@code @Component} 注册为 Bean,覆盖 yh-auth 默认的 NoOp 实现(@ConditionalOnMissingBean)。 * 注意:UserBase 自身不引入 yh-openapi-spring-boot-starter,故 openApiUserDetailsProvider 不会被创建, * 不会形成「用户中心回调自身」的环。 */ @Component public class UserBaseUserDetailsProvider implements UserDetailsProvider { @Autowired private UserCenterService userCenterService; @Override public BoaUser loadByLoginName(String loginName) { if (loginName == null) { return null; } return userCenterService.getUserInfoWithDeptByAccount(loginName.trim()); } @Override public BoaUser loadByPhone(String phone) { if (phone == null) { return null; } return userCenterService.getUserInfoWithDeptByPhone(phone.trim()); } }