package com.whyc.controller;
|
|
import com.whyc.dto.Response;
|
import com.whyc.pojo.User;
|
import com.whyc.service.LoginService;
|
import com.whyc.service.UserService;
|
import com.whyc.util.CommonUtil;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import springfox.documentation.annotations.ApiIgnore;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpSession;
|
import java.io.IOException;
|
|
@RequestMapping("login")
|
@RestController
|
@Api(tags = "登录")
|
public class LoginController extends BaseController{
|
|
@Autowired
|
private LoginService service;
|
@Autowired
|
private UserService userService;
|
|
@PostMapping("login")
|
@ApiOperation(value ="登录-账号密码")
|
public Response login(@RequestParam String name, String pwd,HttpServletRequest request){
|
return service.login(name,pwd,request);
|
}
|
@PostMapping("loginByRSA")
|
@ApiOperation(value ="登录-账号密码加密")
|
public Response loginByRSA(@RequestParam String userName, String password,String deliveredCode,HttpServletRequest request,Integer validCode){
|
return service.loginByRSA(userName,password,deliveredCode,request,validCode);
|
}
|
|
/*@GetMapping("/getRandom")
|
@ApiOperation(value = "uKey校验前生成随机数")
|
public Response getRandom() throws NoSuchAlgorithmException {
|
//int randomNum = (int)((Math.random()*9+1)*10000);
|
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
|
int randomNum = random.nextInt(100000);
|
ActionUtil.getSession().setAttribute("uKeyRandom",String.valueOf(randomNum));
|
return new Response().set(1,randomNum);
|
}*/
|
|
@PostMapping("logout")
|
@ApiOperation(value ="退出登录")
|
public void logout(){
|
service.logout();
|
}
|
|
|
/**拦截登录*/
|
@GetMapping("unauthorized")
|
@ApiIgnore
|
public void unauthorized(HttpServletRequest request,HttpServletResponse response) throws IOException {
|
response.setContentType("text/html;charset=utf-8");
|
response.getWriter().write("您未获取到接口的调用授权,拒绝访问!");
|
}
|
|
@PostMapping("/check")
|
@ApiOperation(value = "判断是否有另一同一账号登录的用户")
|
public Response check(){
|
Response response = service.checkUser();
|
//当前用户
|
HttpSession session = CommonUtil.getSession();
|
User uinf=(User) session.getAttribute("user");
|
if(response.getCode() == 1){
|
session.invalidate(); //清除当前的session; //清除session
|
}
|
return response;
|
}
|
|
@GetMapping("loginNoPass")
|
@ApiOperation(value = "免密登录")
|
public Response loginNoPass(@RequestParam int uId,HttpServletRequest request){
|
return service.loginNoPass(uId,request);
|
}
|
|
}
|