1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package cn.com.qmth.examcloud.tool.controller;
- import cn.com.qmth.examcloud.tool.cache.LoginSessionManager;
- import cn.com.qmth.examcloud.tool.config.Constants;
- import cn.com.qmth.examcloud.tool.service.CommonService;
- import cn.com.qmth.examcloud.tool.vo.user.User;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- @Controller
- public class LoginController extends BaseController {
- @Autowired
- private CommonService commonService;
- @GetMapping(value = "/login")
- public String login() {
- if (currentLoginUser() != null) {
- return "redirect:/admin/workspace";
- }
- return "login";
- }
- @PostMapping(value = "/login")
- public void doLogin(@RequestParam String serverUrl, @RequestParam String loginName, @RequestParam String password,
- @RequestParam(required = false) String smsCode) {
- User user = commonService.login(serverUrl, loginName, password, smsCode);
- currentSession().setAttribute(Constants.LOGIN_USER, user);
- }
- @GetMapping(value = "/logout")
- public String logout() {
- User user = currentLoginUser();
- if (user != null) {
- LoginSessionManager.removeLoginSession(user.getToken());
- currentSession().removeAttribute(Constants.LOGIN_USER);
- }
- return "redirect:/login";
- }
- }
|