我收到这个错误消息:
错误:构造函数SecurityProperties.User(String,String,boolean,List)未定义
这是我的代码:
package org.launchcode.shopcartsbh.service;
import java.util.ArrayList;
import java.util.List;
import org.launchcode.shopcartsbh.dao.AccountDAO;
import org.launchcode.shopcartsbh.entity.Account;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.boot.autoconfigure.security.SecurityProperties.User;
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;
@Service("userDetailsService")
public class UserDetailsServiceImpl implements UserDetailsService {
@Autowired
private AccountDAO accountDAO;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Account account = accountDAO.findAccount(username);
System.out.println("Account= " + account);
if (account == null) {
throw new UsernameNotFoundException("User " //
+ username + " was not found in the database");
}
// EMPLOYEE,MANAGER,..
String role = account.getUserRole();
List<GrantedAuthority> grantList = new ArrayList<GrantedAuthority>();
// ROLE_EMPLOYEE, ROLE_MANAGER
GrantedAuthority authority = new SimpleGrantedAuthority(role);
grantList.add(authority);
String user = account.getUserName();
String password = account.getEncrytedPassword();
boolean enabled = account.isActive();
boolean accountNonExpired = true;
boolean credentialsNonExpired = true;
boolean accountNonLocked = true;
**** UserDetails userDetails = (UserDetails) new User(user, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, grantList);
**** this is where the error is
return userDetails;
}
}
我在想,我是否可以重写这段代码,使其更具功能性?在过去的几天里,我一直在研究这个问题,但仍然没有解决方案。
发布于 2018-10-13 05:19:44
您导入了错误的User
类,应该是
import org.springframework.security.core.userdetails.User
而不是
import org.springframework.boot.autoconfigure.security.SecurityProperties.User;
https://stackoverflow.com/questions/52787068
复制相似问题