63 lines
2.2 KiB
Java
63 lines
2.2 KiB
Java
/*
|
|
* To change this license header, choose License Headers in Project Properties.
|
|
* To change this template file, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
package com.ifish.config;
|
|
|
|
import com.ifish.bean.Tbl_Security_User;
|
|
import com.ifish.helper.UserHelper;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
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;
|
|
|
|
/**
|
|
*
|
|
* @author Administrator
|
|
*/
|
|
public class MyUserDetailService implements UserDetailsService {
|
|
|
|
private final UserHelper userHelper;
|
|
|
|
public MyUserDetailService(UserHelper u) {
|
|
this.userHelper = u;
|
|
}
|
|
|
|
@Override
|
|
public UserDetails loadUserByUsername(String userName) throws UsernameNotFoundException {
|
|
|
|
Tbl_Security_User user = userHelper.getTbl_Security_User(userName);
|
|
|
|
if (user == null) {
|
|
throw new UsernameNotFoundException("用户不存在!");
|
|
}
|
|
|
|
List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
|
|
authorities.add(new SimpleGrantedAuthority("ROLE_" + user.getRole()));
|
|
boolean enabled = true;
|
|
boolean accountNonExpired = true;
|
|
boolean credentialsNonExpired = true;
|
|
boolean accountNonLocked = true;
|
|
|
|
UserInfo userdetails = new UserInfo();
|
|
userdetails.setId(user.getId());
|
|
userdetails.setUsername(user.getUsername());
|
|
userdetails.setPassword(user.getPassword());
|
|
userdetails.setEmail(user.getEmail());
|
|
userdetails.setRole(user.getRole());
|
|
userdetails.setRoleName(user.getRolename());
|
|
userdetails.setCode(user.getCode());
|
|
userdetails.setEnabled(enabled);
|
|
userdetails.setAccountNonLocked(accountNonLocked);
|
|
userdetails.setAccountNonExpired(accountNonExpired);
|
|
userdetails.setCredentialsNonExpired(credentialsNonExpired);
|
|
return userdetails;
|
|
|
|
}
|
|
|
|
}
|