| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package cn.seecoder.paas.web.security;
- import cn.seecoder.paas.util.JwtTokenUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.security.authentication.AuthenticationManager;
- import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
- import org.springframework.security.core.Authentication;
- import org.springframework.security.core.context.SecurityContextHolder;
- import org.springframework.security.core.userdetails.UserDetails;
- import org.springframework.security.core.userdetails.UserDetailsService;
- import org.springframework.stereotype.Service;
- @Service
- public class JwtAuthService {
- private final AuthenticationManager authenticationManager;
- private final UserDetailsService userDetailsService;
- private final JwtTokenUtil jwtTokenUtil;
- @Autowired
- public JwtAuthService(AuthenticationManager authenticationManager, @Qualifier("paasUserDetailService") UserDetailsService userDetailsService, JwtTokenUtil jwtTokenUtil) {
- this.authenticationManager = authenticationManager;
- this.userDetailsService = userDetailsService;
- this.jwtTokenUtil = jwtTokenUtil;
- }
- public String login(String username, String password) {
- UsernamePasswordAuthenticationToken upToken =
- new UsernamePasswordAuthenticationToken(username, password);
- Authentication authentication = authenticationManager.authenticate(upToken);
- SecurityContextHolder.getContext().setAuthentication(authentication);
- UserDetails userDetails = userDetailsService.loadUserByUsername(username);
- return jwtTokenUtil.generateToken(userDetails);
- }
- }
|