648540858
2023-03-15 5fab97cf7e49636d446e063ee6e0eea80c124bd2
src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java
@@ -1,6 +1,7 @@
package com.genersoft.iot.vmp.vmanager.user;
import com.genersoft.iot.vmp.conf.exception.ControllerException;
import com.genersoft.iot.vmp.conf.security.JwtUtils;
import com.genersoft.iot.vmp.conf.security.SecurityUtils;
import com.genersoft.iot.vmp.conf.security.dto.LoginUser;
import com.genersoft.iot.vmp.service.IRoleService;
@@ -21,10 +22,11 @@
import org.springframework.web.bind.annotation.*;
import javax.security.sasl.AuthenticationException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@Tag(name  = "用户管理")
@CrossOrigin
@RestController
@RequestMapping("/api/user")
public class UserController {
@@ -43,8 +45,8 @@
    @Operation(summary = "登录")
    @Parameter(name = "username", description = "用户名", required = true)
    @Parameter(name = "password", description = "密码(32位md5加密)", required = true)
    public LoginUser login(@RequestParam String username, @RequestParam String password){
        LoginUser user = null;
    public LoginUser login(HttpServletRequest request, HttpServletResponse response, @RequestParam String username, @RequestParam String password){
        LoginUser user;
        try {
            user = SecurityUtils.login(username, password, authenticationManager);
        } catch (AuthenticationException e) {
@@ -52,10 +54,32 @@
        }
        if (user == null) {
            throw new ControllerException(ErrorCode.ERROR100.getCode(), "用户名或密码错误");
        }else {
            String jwt = JwtUtils.createToken(username, password);
            response.setHeader(JwtUtils.getHeader(), jwt);
        }
        return user;
    }
//    @GetMapping("/logout")
//    @PostMapping("/logout")
//    @Operation(summary = "登出")
//    public LoginUser logout(){
//        LoginUser user;
//        try {
//            user = SecurityUtils.login(username, password, authenticationManager);
//        } catch (AuthenticationException e) {
//            throw new ControllerException(ErrorCode.ERROR100.getCode(), e.getMessage());
//        }
//        if (user == null) {
//            throw new ControllerException(ErrorCode.ERROR100.getCode(), "用户名或密码错误");
//        }else {
//            String jwt = JwtUtils.createToken(username, password);
//            response.setHeader(JwtUtils.getHeader(), jwt);
//        }
//        return user;
//    }
    @PostMapping("/changePassword")
    @Operation(summary = "修改密码")
    @Parameter(name = "username", description = "用户名", required = true)