|
@@ -2,7 +2,9 @@ package controller;
|
|
|
|
|
|
|
|
|
import EntitiesDao.UsersDao;
|
|
|
+import HibernateEntities.ClientsEntity;
|
|
|
import HibernateEntities.UsersEntity;
|
|
|
+import LoginEntities.LoginClient;
|
|
|
import LoginEntities.LoginUser;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
|
@@ -10,16 +12,19 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.LinkedHashMap;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+import static EntitiesDao.AdminDao.getAdminList;
|
|
|
+import static EntitiesDao.AdminDao.getAdminMap;
|
|
|
+import static EntitiesDao.ClientsDao.getClientList;
|
|
|
+import static EntitiesDao.ClientsDao.getClientMap;
|
|
|
|
|
|
/**
|
|
|
* Created by Кинетик on 28.12.2016.
|
|
|
*/
|
|
|
@Controller
|
|
|
public class controller {
|
|
|
+ //Мапит запрос на вход на сайт, возвращает страницу index и грузит в нее объект, чтобы записывать данные в него
|
|
|
@RequestMapping(value = "/", method = RequestMethod.GET)
|
|
|
public ModelAndView main() {
|
|
|
ModelAndView modelAndView = new ModelAndView();
|
|
@@ -27,6 +32,7 @@ public class controller {
|
|
|
modelAndView.setViewName("index");
|
|
|
return modelAndView;
|
|
|
}
|
|
|
+ //Метод осуществляет проверку первого уровня аутентификации. Комментарий про мапу аналогичен след методу - надо подумать+посовещаться
|
|
|
@RequestMapping(value = "/check-user")
|
|
|
public ModelAndView checkUser(@ModelAttribute("userJSP") LoginUser user) {
|
|
|
ModelAndView modelAndView = new ModelAndView();
|
|
@@ -35,7 +41,14 @@ public class controller {
|
|
|
if(userDict.get(user.getName()).getUserPassword().equals(user.getPassword())){
|
|
|
if(Objects.equals(user.getName(), "модератор")){
|
|
|
modelAndView.setViewName("adminBar");
|
|
|
+ ArrayList<String> adminList = getAdminList();
|
|
|
+ //Нет смысла создавать LoginAdmin - поля те же, что и у заказчика
|
|
|
+ modelAndView.addObject("adminLogin", new LoginClient());
|
|
|
+ modelAndView.addObject("adminList", adminList);
|
|
|
} else if(Objects.equals(user.getName(), "заказчик")){
|
|
|
+ ArrayList<String> clientList = getClientList();
|
|
|
+ modelAndView.addObject("clientLogin", new LoginClient());
|
|
|
+ modelAndView.addObject("clientList", clientList);
|
|
|
modelAndView.setViewName("ownerBar");
|
|
|
} else {
|
|
|
modelAndView.setViewName("studentBar");
|
|
@@ -51,4 +64,41 @@ public class controller {
|
|
|
|
|
|
return modelAndView;
|
|
|
}
|
|
|
+ @RequestMapping(value = "/checkClient")
|
|
|
+ public ModelAndView checkClient(@ModelAttribute("clientLogin") LoginClient client){
|
|
|
+ ModelAndView mv = new ModelAndView();
|
|
|
+ /*За эту мапу вообще стыдно, в перспективе подумать как переписать - что быстрее запросить пользователя с логином из БД
|
|
|
+ или вот так вытащить все. Пока думаю, что теряем в памяти - приобретаем в скорости и наоборот
|
|
|
+ */
|
|
|
+ HashMap<String, String> clientAll = getClientMap();
|
|
|
+ if(clientAll.containsKey(client.getName())){
|
|
|
+ if(clientAll.get(client.getName()).equals(client.getPassword())){
|
|
|
+ mv.setViewName("ownerIn");
|
|
|
+ } else {
|
|
|
+ mv.setViewName("ownerBar");
|
|
|
+ mv.addObject("message", "Bad password");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ mv.setViewName("ownerBar");
|
|
|
+ mv.addObject("message", "Bad login");
|
|
|
+ }
|
|
|
+ return mv;
|
|
|
+ }
|
|
|
+ @RequestMapping(value = "/checkAdmin")
|
|
|
+ public ModelAndView checkAdmin(@ModelAttribute("adminLogin") LoginClient admin){
|
|
|
+ ModelAndView mv = new ModelAndView();
|
|
|
+ HashMap<String, String> adminMap = getAdminMap();
|
|
|
+ if(adminMap.containsKey(admin.getName())){
|
|
|
+ if(adminMap.get(admin.getName()).equals(admin.getPassword())){
|
|
|
+ mv.setViewName("adminIn");
|
|
|
+ } else {
|
|
|
+ mv.setViewName("adminBar");
|
|
|
+ mv.addObject("message", "Bad password");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ mv.setViewName("adminBar");
|
|
|
+ mv.addObject("message", "Bad login");
|
|
|
+ }
|
|
|
+ return mv;
|
|
|
+ }
|
|
|
}
|