Files
IfishSystemEnglish/src/main/java/com/ifish/config/MyUserDetailService.java
T
2017-07-25 18:09:50 +08:00

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;
}
}