/* * 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 authorities = new ArrayList(); 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; } }