|
@@ -1,20 +1,19 @@
|
|
|
package com.huaxu.service;
|
|
|
|
|
|
|
|
|
+
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.huaxu.dao.UserMapper;
|
|
|
+import com.huaxu.dto.UserDto;
|
|
|
import com.huaxu.model.LoginUser;
|
|
|
-import com.huaxu.entity.Org;
|
|
|
+
|
|
|
import com.huaxu.entity.User;
|
|
|
-import com.huaxu.model.Permission;
|
|
|
-import com.huaxu.model.ProgramItem;
|
|
|
+
|
|
|
import com.huaxu.model.ResultStatus;
|
|
|
|
|
|
import com.huaxu.security.exception.SecurityException;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.security.core.GrantedAuthority;
|
|
|
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
|
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
|
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
@@ -32,8 +31,7 @@ import static com.google.common.collect.Lists.newArrayList;
|
|
|
public class MyUserDetailService implements UserDetailsService {
|
|
|
|
|
|
|
|
|
- @Autowired
|
|
|
- private UserService userService;
|
|
|
+
|
|
|
|
|
|
@Autowired
|
|
|
private UserMapper userMapper;
|
|
@@ -42,43 +40,29 @@ public class MyUserDetailService implements UserDetailsService {
|
|
|
@Override
|
|
|
public UserDetails loadUserByUsername(String phone) throws UsernameNotFoundException {
|
|
|
|
|
|
- User user =new User();
|
|
|
+ UserDto userDto=new UserDto();
|
|
|
//解析不到参数
|
|
|
- user.setPhone(phone);
|
|
|
+ userDto.setPhone(phone);
|
|
|
//如果电话和租户值任意为空,设置条件使user查不出
|
|
|
- if(StringUtils.isEmpty(user.getPhone())){
|
|
|
- user.setPhone("-1");
|
|
|
- user.setTenantId("-1");
|
|
|
- }
|
|
|
- user=userService.findUser(user);
|
|
|
- if (user == null) {
|
|
|
- throw new SecurityException(ResultStatus.PHONE_NUMBER_NOT_FOUND_ERROR);
|
|
|
- }
|
|
|
+ if(StringUtils.isEmpty(phone)){
|
|
|
+ userDto.setPhone("-1");
|
|
|
|
|
|
- //判断是否禁用
|
|
|
- if (user.getEnableState().equals("1")) {
|
|
|
- throw new SecurityException(ResultStatus.ACCESS_DISABLED_ERROR);
|
|
|
}
|
|
|
+ List<UserDto> loginInfos = userMapper.findLoginInfo(userDto);
|
|
|
|
|
|
- return getLoginUser(user);
|
|
|
- }
|
|
|
-
|
|
|
- private List<Permission>findPermission(User user){
|
|
|
- List<Permission> permissionList = userMapper.findPermission(user);
|
|
|
+ if (loginInfos.size()==0) {
|
|
|
+ throw new SecurityException(ResultStatus.PHONE_NUMBER_NOT_FOUND_ERROR);
|
|
|
+ }
|
|
|
+ LoginUser loginUser = new LoginUser(null);
|
|
|
+ loginUser.setId(loginInfos.get(0).getId());
|
|
|
|
|
|
- return permissionList;
|
|
|
+ loginUser.setUserInfos(JSONObject.toJSONString(loginInfos));
|
|
|
+ return loginUser;
|
|
|
}
|
|
|
|
|
|
- public LoginUser getLoginUser(User user){
|
|
|
|
|
|
|
|
|
|
|
|
- LoginUser loginUser = new LoginUser(null);
|
|
|
-
|
|
|
- loginUser.setId(user.getId());
|
|
|
-
|
|
|
- return loginUser;
|
|
|
- }
|
|
|
|
|
|
|
|
|
}
|