From 91022192885de77152956d495a3f943572f7ed17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E5=98=89=E9=98=B3?= Date: Tue, 27 Feb 2018 22:02:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E5=8F=AA=E8=83=BD=E6=9C=89=E4=B8=80=E4=B8=AA=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/controller/LoginController.java | 4 +++ .../spring/interceptor/AdminInterceptor.java | 27 ++++++++++++++++--- .../fjy/spring/interceptor/WebAppConfig.java | 1 - .../spring/repository/TbAdminRepository.java | 4 ++- .../com/fjy/spring/service/AdminService.java | 18 +++++++++++++ src/main/resources/application.yml | 2 +- src/main/resources/logback-spring.xml | 8 +++--- src/main/resources/static/js/user.js | 4 --- 8 files changed, 53 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/fjy/spring/service/AdminService.java diff --git a/src/main/java/com/fjy/spring/controller/LoginController.java b/src/main/java/com/fjy/spring/controller/LoginController.java index 56e8ec3..e262c0e 100644 --- a/src/main/java/com/fjy/spring/controller/LoginController.java +++ b/src/main/java/com/fjy/spring/controller/LoginController.java @@ -1,8 +1,10 @@ package com.fjy.spring.controller; +import com.fjy.spring.domain.TbAdmin; import com.fjy.spring.domain.TbLog; import com.fjy.spring.domain.TbUser; import com.fjy.spring.properties.ServerProperties; +import com.fjy.spring.service.AdminService; import com.fjy.spring.service.LogService; import com.fjy.spring.service.UserService; import com.fjy.spring.untils.CodingUtil; @@ -10,6 +12,7 @@ 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; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; @@ -19,6 +22,7 @@ import java.math.BigInteger; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Optional; import static com.fjy.spring.constant.GlobalConstant.USER_SESSION_KEY; diff --git a/src/main/java/com/fjy/spring/interceptor/AdminInterceptor.java b/src/main/java/com/fjy/spring/interceptor/AdminInterceptor.java index 91a9c44..5a0269c 100644 --- a/src/main/java/com/fjy/spring/interceptor/AdminInterceptor.java +++ b/src/main/java/com/fjy/spring/interceptor/AdminInterceptor.java @@ -1,21 +1,40 @@ package com.fjy.spring.interceptor; import com.fjy.spring.constant.GlobalConstant; +import com.fjy.spring.domain.TbAdmin; import com.fjy.spring.domain.TbUser; +import com.fjy.spring.service.AdminService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.BeanFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.web.context.support.WebApplicationContextUtils; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Optional; +@Slf4j public class AdminInterceptor implements HandlerInterceptor { + @Autowired + private AdminService adminService; + @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { TbUser user = (TbUser)request.getSession().getAttribute(GlobalConstant.USER_SESSION_KEY); - if (!user.getColname().equals("root")){ - response.sendRedirect("/cms/home"); - return false; + log.info(user.getColuserid()+""); + if (adminService == null) {//解决service为null无法注入问题 + BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext()); + adminService = (AdminService) factory.getBean("adminService"); } - return true; + Optional admin = adminService.findAdminById(user.getColuserid()); + + if (!admin.isPresent()){ + response.sendRedirect("/cms/home"); + return false; + }else + return true; } } diff --git a/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java b/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java index 5d20a5e..722f8eb 100644 --- a/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java +++ b/src/main/java/com/fjy/spring/interceptor/WebAppConfig.java @@ -2,7 +2,6 @@ package com.fjy.spring.interceptor; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; diff --git a/src/main/java/com/fjy/spring/repository/TbAdminRepository.java b/src/main/java/com/fjy/spring/repository/TbAdminRepository.java index fca1ad0..bba61b7 100644 --- a/src/main/java/com/fjy/spring/repository/TbAdminRepository.java +++ b/src/main/java/com/fjy/spring/repository/TbAdminRepository.java @@ -3,6 +3,8 @@ package com.fjy.spring.repository; import com.fjy.spring.domain.TbAdmin; import org.springframework.data.jpa.repository.JpaRepository; -public interface TbAdminRepository extends JpaRepository { +import java.util.Optional; +public interface TbAdminRepository extends JpaRepository { + Optional findByUserid(Integer userid); } diff --git a/src/main/java/com/fjy/spring/service/AdminService.java b/src/main/java/com/fjy/spring/service/AdminService.java new file mode 100644 index 0000000..a7b761d --- /dev/null +++ b/src/main/java/com/fjy/spring/service/AdminService.java @@ -0,0 +1,18 @@ +package com.fjy.spring.service; + +import com.fjy.spring.domain.TbAdmin; +import com.fjy.spring.repository.TbAdminRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Optional; + +@Service +public class AdminService { + @Autowired + private TbAdminRepository adminRepository; + + public Optional findAdminById(Integer id){ + return adminRepository.findByUserid(id); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7ef289a..9efaa1c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ #控制配置文件调用 spring: profiles: - active: prod \ No newline at end of file + active: dev \ No newline at end of file diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 272ad8e..71c159c 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -25,8 +25,8 @@ - - /www/cmsfile/%d/info.%d.log + F:\JAVA Workspace\Temp\log\%d\info.%d.log + @@ -44,8 +44,8 @@ - - /www/cmsfile/%d/error.%d.log + F:\JAVA Workspace\Temp\log\error.%d.log + diff --git a/src/main/resources/static/js/user.js b/src/main/resources/static/js/user.js index f55483d..cd7c8d9 100644 --- a/src/main/resources/static/js/user.js +++ b/src/main/resources/static/js/user.js @@ -176,10 +176,6 @@ var Main = { submitForm(formName, url) { this.$refs[formName].validate((valid) => { var that = this; - var params = new URLSearchParams(); - params.append('userid', '55'); //你要传给后台的参数值 key/value - params.append('question', th.ruleForm3.question.value); - params.append('answer', th.ruleForm3.answer.value); if (valid) {//此处暂时去除校验 axios({ url: getRootPath_web()+'/' + url,