только один IP принимает как одного студента.но не работает в локальной сети весенняя загрузка веб-приложения - PullRequest
0 голосов
/ 23 октября 2018

Я строю модуль MCQ (модуль MCQ онлайн) для студентов.поэтому здесь я столкнулся с проблемой, связанной с тем, что я определил одного студента как одно устройство.просто думай, что у одного студента есть одно устройство для экзамена.но когда дело доходит до локальной сети, она не работает из-за подсетей и прочего.

, пожалуйста, помогите мне решить эту проблему.что я должен сделать, чтобы избежать этой проблемы?я предоставил свой бэкэнд здесь.

класс РЕПО

@Repository
public interface StudentExamRepository extends 
CrudRepository<StudentExam,Long>
{

@Query(value = "select * from student_exam where exam_link_id = ?1 and 
(student_id = ?2 or attempted_ip = ?3)", nativeQuery = true)
List<StudentExam> findByExamLinkIdStudentIdAndIp( long examId, long 
studentId, String ip );
}

класс обслуживания

public Boolean hasStudentAttempted( long examLinkId, long studentId, String attemptedId )
{
  return studentExamRepository.findByExamLinkIdStudentIdAndIp( examLinkId, studentId, attemptedId ).size() != 0;
}

    @RequestMapping(method = RequestMethod.GET, value = "/allowed/hasStudentAttempted")
public ResponseEntity<Boolean> hasStudentAttempted( @RequestParam long examLinkId, @RequestParam long studentId, HttpServletRequest request )
{
    return new ResponseEntity<>( studentExamService.hasStudentAttempted( examLinkId, studentId, request.getRemoteAddr() ), HttpStatus.OK );
}

класс контроллера

@RequestMapping(method = RequestMethod.GET, value = "/allowed/hasStudentAttempted")
public ResponseEntity<Boolean> hasStudentAttempted( @RequestParam long examLinkId, @RequestParam long studentId, HttpServletRequest request )
{
    return new ResponseEntity<>( studentExamService.hasStudentAttempted( examLinkId, studentId, request.getRemoteAddr() ), HttpStatus.OK );
}
...