增加开发文档和API,修复系统可以被一个用户注册多次的漏洞

This commit is contained in:
2018-03-13 16:02:16 +08:00
parent 1f8e727889
commit f83b39361b
13 changed files with 449 additions and 2 deletions

View File

@@ -2,6 +2,7 @@ package com.fjy.spring.controller;
import com.fjy.spring.domain.TbStudentlist;
import com.fjy.spring.domain.TbUser;
import com.fjy.spring.enums.RegisteredEnum;
import com.fjy.spring.enums.ResultEnum;
import com.fjy.spring.exception.UserException;
import com.fjy.spring.properties.ServerProperties;
@@ -48,6 +49,8 @@ public class RegisterController {
//加密用户密码
tbUser.setColpassword(new BigInteger(CodingUtil.encryptSHA(tbUser.getColpassword().getBytes())).toString(32));
if (userService.doRegisterService(tbUser)){
//更新用户列表是否注册的标记
studentService.UpdateStudentListRegistered(tbUser.getColrealname(),tbUser.getColstudentno());
return true;
/*return "redirect:" + request.getScheme() + "://" + request.getServerName() + ":"
+ serverProperties.getPortNum() + request.getContextPath() + "/index";*/
@@ -70,7 +73,7 @@ public class RegisterController {
public boolean doCheckStudent(@RequestParam(value = "studentno") String studentno,
@RequestParam(value = "realname") String realname){
TbStudentlist studentlist = studentService.findByColstudentnoAndColrealname(studentno,realname);
if (studentlist!=null)
if (studentlist!=null&&studentlist.getRegistered()!= RegisteredEnum.REGISTERED.getCode())
return true;
return false;
}

View File

@@ -17,4 +17,6 @@ public class TbStudentlist {
private String sex;
private Integer registered;
}

View File

@@ -0,0 +1,18 @@
package com.fjy.spring.enums;
import lombok.Getter;
@Getter
public enum RegisteredEnum {
REGISTERED(1,"该用户已注册"),
UNREGISTERED(0,"该用户未注册"),
FORBIDDEN(2,"该用户已被列入黑名单")
;
private Integer code;
private String msg;
RegisteredEnum(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
}

View File

@@ -3,6 +3,7 @@ package com.fjy.spring.service;
import com.fjy.spring.domain.TbStudent;
import com.fjy.spring.domain.TbStudentlist;
import com.fjy.spring.domain.TbUser;
import com.fjy.spring.enums.RegisteredEnum;
import com.fjy.spring.repository.TbStudentListRepository;
import com.fjy.spring.repository.TbStudentRepository;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,6 +27,12 @@ public class StudentService {
return tbStudentListRepository.findByColstudentnoAndColrealname(studentno,realname);
}
public TbStudentlist UpdateStudentListRegistered(String realname,String studentno){
TbStudentlist studentlist = new TbStudentlist();
studentlist = findByColstudentnoAndColrealname(studentno,realname);
studentlist.setRegistered(RegisteredEnum.REGISTERED.getCode());
return tbStudentListRepository.save(studentlist);
}
}

View File

@@ -106,7 +106,7 @@ var Main = {
.then(function (response) {
console.log(response.data);
if (response.data === false) {
return callback(new Error('姓名与学号不匹配'));
return callback(new Error('姓名与学号不匹配或该用户已注册'));
} else {
callback()
}