|
@@ -5,7 +5,6 @@ import java.util.Date;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
-import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Controller;
|
|
@@ -14,14 +13,12 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
-import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.Marker;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkerService;
|
|
|
import cn.com.qmth.stmms.biz.user.model.User;
|
|
|
import cn.com.qmth.stmms.biz.user.service.UserService;
|
|
|
import cn.com.qmth.stmms.common.domain.WebUser;
|
|
|
-import cn.com.qmth.stmms.common.enums.MarkStatus;
|
|
|
import cn.com.qmth.stmms.common.enums.Role;
|
|
|
import cn.com.qmth.stmms.common.session.model.StmmsSession;
|
|
|
import cn.com.qmth.stmms.common.utils.Md5EncryptUtils;
|
|
@@ -41,22 +38,29 @@ public class LoginController {
|
|
|
|
|
|
@Value("${index.logo}")
|
|
|
private String indexLogo;
|
|
|
+
|
|
|
+ private static final String LOGIN_TYPE_KEY = "loginType";
|
|
|
|
|
|
@RequestMapping("/")
|
|
|
public ModelAndView index(HttpServletRequest request) {
|
|
|
- return new ModelAndView("index");
|
|
|
+ return new ModelAndView("redirect:/login");
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/login", method = RequestMethod.GET)
|
|
|
public ModelAndView login(HttpServletRequest request) {
|
|
|
+ StmmsSession session = RequestUtils.getSession(request);
|
|
|
+ session.setParameter(LOGIN_TYPE_KEY,null);
|
|
|
ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
view.addObject("indexLogo", indexLogo);
|
|
|
+ view.addObject("showType", "admin-login");
|
|
|
return view;
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/login", method = RequestMethod.POST)
|
|
|
- public ModelAndView login(User user, String loginType, HttpServletRequest request, HttpServletResponse response) {
|
|
|
- if (loginType.equals("admin-login")) {
|
|
|
+ public ModelAndView login(User user, @RequestParam(required=false)String showType, HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ StmmsSession session = RequestUtils.getSession(request);
|
|
|
+ String loginType = session.getParameter(LOGIN_TYPE_KEY);
|
|
|
+ if ("admin-login".equals(showType)||"admin-login".equals(loginType)) {
|
|
|
User u = userService.findByLoginName(user.getLoginName());
|
|
|
if (u != null) {
|
|
|
if (u.getPassword().equals(Md5EncryptUtils.md5(user.getPassword()))) {
|
|
@@ -64,7 +68,6 @@ public class LoginController {
|
|
|
u.setLastLoginIp(request.getRemoteAddr());
|
|
|
userService.save(u);
|
|
|
|
|
|
- StmmsSession session = RequestUtils.getSession(request);
|
|
|
new WebUser(u.getId(), u.getRole()).writeToSession(session);
|
|
|
|
|
|
if (u.getRole() == Role.SYS_ADMIN || u.getRole() == Role.SCHOOL_ADMIN
|
|
@@ -74,37 +77,37 @@ public class LoginController {
|
|
|
} else {
|
|
|
ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
view.addObject("message", "用户没有访问权限");
|
|
|
- view.addObject("loginType", loginType);
|
|
|
+ view.addObject("showType", showType);
|
|
|
view.addObject("indexLogo", indexLogo);
|
|
|
return view;
|
|
|
}
|
|
|
} else {
|
|
|
ModelAndView modelAndView = new ModelAndView("modules/sys/login");
|
|
|
modelAndView.addObject("message", "密码错误");
|
|
|
- modelAndView.addObject("loginType", loginType);
|
|
|
+ modelAndView.addObject("showType", showType);
|
|
|
modelAndView.addObject("indexLogo", indexLogo);
|
|
|
return modelAndView;
|
|
|
}
|
|
|
} else {
|
|
|
ModelAndView modelAndView = new ModelAndView("modules/sys/login");
|
|
|
modelAndView.addObject("message", "无此用户");
|
|
|
- modelAndView.addObject("loginType", loginType);
|
|
|
+ modelAndView.addObject("showType", showType);
|
|
|
modelAndView.addObject("indexLogo", indexLogo);
|
|
|
return modelAndView;
|
|
|
}
|
|
|
- } else if (loginType.equals("mark-login")) {
|
|
|
+ } else if ("mark-login".equals(showType)||"mark-login".equals(loginType)) {
|
|
|
Marker marker = markerService.findByLoginName(user.getLoginName());
|
|
|
if (marker != null) {
|
|
|
ModelAndView modelAndView = new ModelAndView("modules/sys/login");
|
|
|
if (!marker.getPassword().equals(user.getPassword())) {
|
|
|
modelAndView.addObject("message", "密码错误");
|
|
|
- modelAndView.addObject("loginType", loginType);
|
|
|
+ modelAndView.addObject("showType", showType);
|
|
|
modelAndView.addObject("indexLogo", indexLogo);
|
|
|
return modelAndView;
|
|
|
}
|
|
|
if (marker.isEnable() == false) {
|
|
|
modelAndView.addObject("message", "帐号已禁用");
|
|
|
- modelAndView.addObject("loginType", loginType);
|
|
|
+ modelAndView.addObject("showType", showType);
|
|
|
modelAndView.addObject("indexLogo", indexLogo);
|
|
|
return modelAndView;
|
|
|
}
|
|
@@ -123,12 +126,12 @@ public class LoginController {
|
|
|
|
|
|
ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
view.addObject("message", "帐号不存在");
|
|
|
- view.addObject("loginType", loginType);
|
|
|
+ view.addObject("showType", showType);
|
|
|
view.addObject("indexLogo", indexLogo);
|
|
|
return view;
|
|
|
} else {
|
|
|
ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
- view.addObject("loginType", loginType);
|
|
|
+ view.addObject("showType", showType);
|
|
|
view.addObject("indexLogo", indexLogo);
|
|
|
return view;
|
|
|
}
|
|
@@ -136,53 +139,22 @@ public class LoginController {
|
|
|
|
|
|
@RequestMapping(value = "/admin-login", method = RequestMethod.GET)
|
|
|
public ModelAndView adminIndex(HttpServletRequest request) {
|
|
|
- // StmmsSession session = RequestUtils.getSession(request);
|
|
|
- // if (StringUtils.isNotBlank(session.getParameter("userId"))) {
|
|
|
- // return new ModelAndView("modules/sys/examIndex");
|
|
|
- // } else {
|
|
|
- return new ModelAndView("modules/sys/sysLogin");
|
|
|
- // }
|
|
|
+ StmmsSession session = RequestUtils.getSession(request);
|
|
|
+ session.setParameter(LOGIN_TYPE_KEY, "admin-login");
|
|
|
+ ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
+ view.addObject(LOGIN_TYPE_KEY, "admin-login");
|
|
|
+ view.addObject("indexLogo", indexLogo);
|
|
|
+ return view;
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- * 登录
|
|
|
- *
|
|
|
- * @param user
|
|
|
- * @param request
|
|
|
- * @param response
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value = "/admin-login", method = RequestMethod.POST)
|
|
|
- public ModelAndView adminLogin(User user, HttpServletRequest request, HttpServletResponse response) {
|
|
|
- User u = userService.findByLoginName(user.getLoginName());
|
|
|
- if (u != null) {
|
|
|
- if (u.getPassword().equals(Md5EncryptUtils.md5(user.getPassword()))) {
|
|
|
- u.setLastLoginTime(new Date());
|
|
|
- u.setLastLoginIp(request.getRemoteAddr());
|
|
|
- userService.save(u);
|
|
|
-
|
|
|
- StmmsSession session = RequestUtils.getSession(request);
|
|
|
- new WebUser(u.getId(), u.getRole()).writeToSession(session);
|
|
|
-
|
|
|
- if (u.getRole() == Role.SYS_ADMIN || u.getRole() == Role.SCHOOL_ADMIN
|
|
|
- || u.getRole() == Role.SUBJECT_HEADER || u.getRole() == Role.SCHOOL_VIEWER) {
|
|
|
- ModelAndView modelAndView = new ModelAndView("redirect:admin/home");
|
|
|
- return modelAndView;
|
|
|
- } else {
|
|
|
- ModelAndView view = new ModelAndView("modules/sys/sysLogin");
|
|
|
- view.addObject("message", "用户没有访问权限");
|
|
|
- return view;
|
|
|
- }
|
|
|
- } else {
|
|
|
- ModelAndView modelAndView = new ModelAndView("modules/sys/sysLogin");
|
|
|
- modelAndView.addObject("message", "密码错误");
|
|
|
- return modelAndView;
|
|
|
- }
|
|
|
- } else {
|
|
|
- ModelAndView modelAndView = new ModelAndView("modules/sys/sysLogin");
|
|
|
- modelAndView.addObject("message", "无此用户");
|
|
|
- return modelAndView;
|
|
|
- }
|
|
|
+
|
|
|
+ @RequestMapping(value = "/mark-login", method = RequestMethod.GET)
|
|
|
+ public ModelAndView markIndex(HttpServletRequest request) {
|
|
|
+ StmmsSession session = RequestUtils.getSession(request);
|
|
|
+ session.setParameter(LOGIN_TYPE_KEY, "mark-login");
|
|
|
+ ModelAndView view = new ModelAndView("modules/sys/login");
|
|
|
+ view.addObject(LOGIN_TYPE_KEY, "mark-login");
|
|
|
+ view.addObject("indexLogo", indexLogo);
|
|
|
+ return view;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -193,98 +165,18 @@ public class LoginController {
|
|
|
* @param response
|
|
|
* @return
|
|
|
*/
|
|
|
- @RequestMapping("/admin-logout")
|
|
|
+ @RequestMapping("/logout")
|
|
|
public ModelAndView adminLogout(HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ StmmsSession session = RequestUtils.getSession(request);
|
|
|
+ String loginType = session.getParameter(LOGIN_TYPE_KEY);
|
|
|
RequestUtils.getSession(request).setInvalid(true);
|
|
|
- return new ModelAndView("redirect:/admin-login");
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 评卷员登录初始化
|
|
|
- *
|
|
|
- * @param request
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value = "/mark-login", method = RequestMethod.GET)
|
|
|
- public ModelAndView loginInit(HttpServletRequest request, @RequestParam(required = false) String message) {
|
|
|
- ModelAndView modelAndView = new ModelAndView("modules/sys/markLogin");
|
|
|
- modelAndView.addObject("message", StringUtils.trimToNull(message));
|
|
|
- return modelAndView;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 评卷员登录
|
|
|
- *
|
|
|
- * @param request
|
|
|
- * @param loginType
|
|
|
- * @param examId
|
|
|
- * @param code
|
|
|
- * @param password
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping(value = "/mark-login", method = RequestMethod.POST)
|
|
|
- public ModelAndView login(HttpServletRequest request, @RequestParam String loginName,
|
|
|
- @RequestParam String password) {
|
|
|
- Marker marker = markerService.findByLoginName(loginName);
|
|
|
- if (marker != null) {
|
|
|
- return markerLogin(request, marker, password);
|
|
|
- }
|
|
|
-
|
|
|
- ModelAndView view = new ModelAndView("modules/sys/markLogin");
|
|
|
- view.addObject("message", "帐号不存在");
|
|
|
- return view;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 评卷员登录
|
|
|
- *
|
|
|
- * @param marker
|
|
|
- * @param request
|
|
|
- * @param response
|
|
|
- * @return
|
|
|
- */
|
|
|
- public ModelAndView markerLogin(HttpServletRequest request, Marker marker, String password) {
|
|
|
- ModelAndView modelAndView = new ModelAndView("modules/sys/markLogin");
|
|
|
- if (!marker.getPassword().equals(password)) {
|
|
|
- modelAndView.addObject("message", "密码错误");
|
|
|
- return modelAndView;
|
|
|
- }
|
|
|
- if (marker.isEnable() == false) {
|
|
|
- modelAndView.addObject("message", "帐号已禁用");
|
|
|
- return modelAndView;
|
|
|
- }
|
|
|
- MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
|
|
|
- if (group == null) {
|
|
|
- modelAndView.addObject("message", "大题不存在");
|
|
|
- return modelAndView;
|
|
|
- }
|
|
|
- if (group.getStatus() == MarkStatus.FINISH) {
|
|
|
- modelAndView.addObject("message", "评卷已结束");
|
|
|
- return modelAndView;
|
|
|
- }
|
|
|
-
|
|
|
- new WebUser(marker.getId(), Role.MARKER).writeToSession(RequestUtils.getSession(request));
|
|
|
-
|
|
|
- if (marker.getLastLoginTime() == null) {
|
|
|
- return new ModelAndView("redirect:/mark/reset");
|
|
|
- } else {
|
|
|
- marker.setLastLoginTime(new Date());
|
|
|
- marker.setLastLoginIp(request.getRemoteAddr());
|
|
|
- markerService.save(marker);
|
|
|
+ if("admin-login".equals(loginType)){
|
|
|
+ return new ModelAndView("redirect:/admin-login");
|
|
|
+ }else if("mark-login".equals(loginType)){
|
|
|
+ return new ModelAndView("redirect:/mark-login");
|
|
|
+ }else{
|
|
|
+ return new ModelAndView("redirect:/login");
|
|
|
}
|
|
|
- return new ModelAndView("redirect:/mark/index");
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 评卷员登出
|
|
|
- *
|
|
|
- * @param request
|
|
|
- * @param response
|
|
|
- * @return
|
|
|
- */
|
|
|
- @RequestMapping("/mark-logout")
|
|
|
- public ModelAndView markerLogout(HttpServletRequest request, HttpServletResponse response) {
|
|
|
- RequestUtils.getSession(request).setInvalid(true);
|
|
|
- return new ModelAndView("redirect:/mark-login");
|
|
|
- }
|
|
|
}
|