package com.kidgrow.oauth2.service.impl; import com.kidgrow.common.feign.UserService; import com.kidgrow.common.model.LoginAppUser; import com.kidgrow.oauth2.service.KidgrowUserDetailsService; import lombok.extern.slf4j.Slf4j; import org.springframework.security.authentication.DisabledException; import org.springframework.security.authentication.InternalAuthenticationServiceException; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.social.security.SocialUserDetails; import org.springframework.social.security.SocialUserDetailsService; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* * @Description:
* @Project:
* @CreateDate: Created in 2020/2/20 09:19
* @Author: liuke */ @Slf4j @Service public class UserDetailServiceImpl implements KidgrowUserDetailsService, SocialUserDetailsService { @Resource private UserService userService; @Override public UserDetails loadUserByUsername(String username) { LoginAppUser loginAppUser = userService.findByUsername(username); if (loginAppUser == null) { throw new InternalAuthenticationServiceException("用户名或密码错误"); } return checkUser(loginAppUser); } @Override public SocialUserDetails loadUserByUserId(String openId) { LoginAppUser loginAppUser = userService.findByOpenId(openId); return checkUser(loginAppUser); } @Override public UserDetails loadUserByMobile(String mobile) { LoginAppUser loginAppUser = userService.findByMobile(mobile); return checkUser(loginAppUser); } private LoginAppUser checkUser(LoginAppUser loginAppUser) { if (loginAppUser != null && !loginAppUser.isEnabled()) { throw new DisabledException("用户已作废"); } return loginAppUser; } }