1
0

JwtAuthService.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package cn.seecoder.paas.web.security;
  2. import cn.seecoder.paas.util.JwtTokenUtil;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.beans.factory.annotation.Qualifier;
  5. import org.springframework.security.authentication.AuthenticationManager;
  6. import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
  7. import org.springframework.security.core.Authentication;
  8. import org.springframework.security.core.context.SecurityContextHolder;
  9. import org.springframework.security.core.userdetails.UserDetails;
  10. import org.springframework.security.core.userdetails.UserDetailsService;
  11. import org.springframework.stereotype.Service;
  12. @Service
  13. public class JwtAuthService {
  14. private final AuthenticationManager authenticationManager;
  15. private final UserDetailsService userDetailsService;
  16. private final JwtTokenUtil jwtTokenUtil;
  17. @Autowired
  18. public JwtAuthService(AuthenticationManager authenticationManager, @Qualifier("paasUserDetailService") UserDetailsService userDetailsService, JwtTokenUtil jwtTokenUtil) {
  19. this.authenticationManager = authenticationManager;
  20. this.userDetailsService = userDetailsService;
  21. this.jwtTokenUtil = jwtTokenUtil;
  22. }
  23. public String login(String username, String password) {
  24. UsernamePasswordAuthenticationToken upToken =
  25. new UsernamePasswordAuthenticationToken(username, password);
  26. Authentication authentication = authenticationManager.authenticate(upToken);
  27. SecurityContextHolder.getContext().setAuthentication(authentication);
  28. UserDetails userDetails = userDetailsService.loadUserByUsername(username);
  29. return jwtTokenUtil.generateToken(userDetails);
  30. }
  31. }