Commit 24b00248 authored by 杨伊博's avatar 杨伊博

no message

parent 83265aa2
package com.us.example.domain;
import java.util.*;
import javax.persistence.*;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
/**
* Created by yangyibo on 17/1/17.
*/
@Entity
@Table(name = "Sys_User")
public class SysUser implements UserDetails { //用户实体实现UserDetails接口,我门的用户实体即位 security 所使用的用户
public class SysUser { //用户实体实现UserDetails接口,我门的用户实体即位 security 所使用的用户
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long id;
private String username;
private String password;
private Integer role_id;
@Transient //此字段不映射到数据库
private String authority;
@Override
public Collection<? extends GrantedAuthority> getAuthorities() { //重写getAuthorities方法,将用户角色作为权限
List<GrantedAuthority> auths = new ArrayList<>();
auths.add(new SimpleGrantedAuthority(this.authority));
return auths;
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
public Long getId() {
return id;
......@@ -87,12 +51,4 @@ public class SysUser implements UserDetails { //用户实体实现UserDetails接
this.role_id = role_id;
}
public String getAuthority() {
return authority;
}
public void setAuthority(String authority) {
this.authority = authority;
}
}
......@@ -4,11 +4,15 @@ import com.us.example.dao.SysRoleRepositiory;
import com.us.example.dao.SysUserRepository;
import com.us.example.domain.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
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;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* Created by yangyibo on 17/1/18.
*/
......@@ -23,11 +27,17 @@ public class CustomUserService implements UserDetailsService { //1
public UserDetails loadUserByUsername(String username) { //2
SysUser user = userRepository.findByUsername(username);
user.setAuthority(sysRoleRepositiory.findById(user.getRole_id()).getName());
if(user == null){
throw new UsernameNotFoundException("用户名不存在");
}
return user; //3
List<SimpleGrantedAuthority> authorities = new ArrayList<>();
//用于添加用户的权限。只要把用户权限添加到authorities 就万事大吉。
authorities.add(new SimpleGrantedAuthority(sysRoleRepositiory.findById(user.getRole_id()).getName()));
return new org.springframework.security.core.userdetails.User(user.getUsername(),
user.getPassword(), authorities);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment