From ae5e9ce31a7fc70c85bb05cca91c1d7d22e5247b Mon Sep 17 00:00:00 2001 From: limqhz <540344226@qq.com> Date: Tue, 31 Jan 2023 14:57:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1API=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A1=A8=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/quinn/common/QuinnConstant.java | 2 + .../java/com/quinn/config/SecurityConfig.java | 7 +- .../java/com/quinn/config/WxTokenFilter.java | 29 +++++ .../com/quinn/controller/WxController.java | 110 ------------------ .../controller/wx/WxSettingsController.java | 35 ++++++ src/main/java/com/quinn/dto/req/BaseReq.java | 2 +- .../com/quinn/dto/req/QueryTaskListReq.java | 11 -- src/main/java/com/quinn/dto/req/SendCode.java | 12 -- src/main/java/com/quinn/dto/res/AboutDTO.java | 35 ------ .../com/quinn/generator/CodeGenerator.java | 2 +- .../java/com/quinn/mapper/UserMapper.java | 4 +- .../java/com/quinn/mapper/xml/UserMapper.xml | 4 + src/main/java/com/quinn/pojo/User.java | 13 ++- .../quinn/service/AccountCheckService.java | 15 +++ .../java/com/quinn/service/UserService.java | 2 +- .../service/impl/AccountCheckServiceImpl.java | 42 +++++++ src/main/java/com/quinn/utils/QuinnUtils.java | 25 ++++ .../java/com/quinn/utils/SecurityUtil.java | 53 +++++++++ 18 files changed, 225 insertions(+), 178 deletions(-) create mode 100644 src/main/java/com/quinn/config/WxTokenFilter.java delete mode 100644 src/main/java/com/quinn/controller/WxController.java create mode 100644 src/main/java/com/quinn/controller/wx/WxSettingsController.java delete mode 100644 src/main/java/com/quinn/dto/req/QueryTaskListReq.java delete mode 100644 src/main/java/com/quinn/dto/req/SendCode.java delete mode 100644 src/main/java/com/quinn/dto/res/AboutDTO.java create mode 100644 src/main/java/com/quinn/service/AccountCheckService.java create mode 100644 src/main/java/com/quinn/service/impl/AccountCheckServiceImpl.java create mode 100644 src/main/java/com/quinn/utils/SecurityUtil.java diff --git a/src/main/java/com/quinn/common/QuinnConstant.java b/src/main/java/com/quinn/common/QuinnConstant.java index ef9e26b..9d2fa60 100644 --- a/src/main/java/com/quinn/common/QuinnConstant.java +++ b/src/main/java/com/quinn/common/QuinnConstant.java @@ -2,6 +2,8 @@ package com.quinn.common; public interface QuinnConstant { + String APP_STR = "quInn"; + String LINK_SUFFIX = "."; String LINK_URL = "/"; diff --git a/src/main/java/com/quinn/config/SecurityConfig.java b/src/main/java/com/quinn/config/SecurityConfig.java index 8da59da..21c1b7a 100644 --- a/src/main/java/com/quinn/config/SecurityConfig.java +++ b/src/main/java/com/quinn/config/SecurityConfig.java @@ -10,6 +10,7 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) @@ -18,6 +19,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired UserServiceImpl userService; + @Autowired + WxTokenFilter wxTokenFilter; + //请求授权验证 @Override protected void configure(HttpSecurity http) throws Exception { @@ -39,7 +43,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { .antMatchers("/blog/**").authenticated() .antMatchers("/source/**").authenticated() .antMatchers("/user/**").authenticated() - .antMatchers("/wx/**").authenticated() + .antMatchers("/wx/**").permitAll() .antMatchers("/*").authenticated(); // 登录配置 @@ -55,6 +59,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { http.headers().frameOptions().disable(); // 图片跨域 http.csrf().disable();//关闭csrf功能:跨站请求伪造,默认只能通过post方式提交logout请求 http.logout().logoutSuccessUrl("/"); + http.addFilterBefore(wxTokenFilter, UsernamePasswordAuthenticationFilter.class); //拦截后使用https 8443 可以装tomcat证书使用 // http.requiresChannel().anyRequest().requiresSecure(); diff --git a/src/main/java/com/quinn/config/WxTokenFilter.java b/src/main/java/com/quinn/config/WxTokenFilter.java new file mode 100644 index 0000000..9450eea --- /dev/null +++ b/src/main/java/com/quinn/config/WxTokenFilter.java @@ -0,0 +1,29 @@ +package com.quinn.config; + +import com.quinn.utils.SecurityUtil; +import org.springframework.stereotype.Component; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpFilter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.rmi.RemoteException; + +@Component +public class WxTokenFilter extends HttpFilter { + + private final String TOKEN = "access_token"; + + @Override + protected void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { + if (request.getRequestURI().startsWith("/wx/")){ + String token = request.getParameter(TOKEN); +// if (!SecurityUtil.checkToken(token)){ +// throw new RemoteException("token检验失败"); +// } + } + chain.doFilter(request,response); + } +} diff --git a/src/main/java/com/quinn/controller/WxController.java b/src/main/java/com/quinn/controller/WxController.java deleted file mode 100644 index fc36acc..0000000 --- a/src/main/java/com/quinn/controller/WxController.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.quinn.controller; - - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.quinn.common.EmailType; -import com.quinn.dto.req.QueryTaskListReq; -import com.quinn.dto.req.SearchPage; -import com.quinn.dto.req.SendCode; -import com.quinn.dto.res.AboutDTO; -import com.quinn.dto.res.ResponseDTO; -import com.quinn.intergration.SendBMail; -import com.quinn.pojo.About; -import com.quinn.pojo.Invite; -import com.quinn.service.AboutService; -import com.quinn.service.InviteService; -import com.quinn.utils.QuinnUtils; -import com.quinn.vo.MyPageParam; -import org.springframework.util.CollectionUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; - -/** - *
- * 前端控制器 - *
- * - * @author limqsh - * @since 2022-05-01 - */ -@RestController("/wx") -public class WxController extends BaseModelController { - - @Resource - AboutService aboutService; - @Resource - InviteService inviteService; - @Resource - SendBMail sendBMail; - - @PostMapping("about/us") - public ResponseDTO userIndexBlog(SearchPage searchPage){ - Page+ * 前端控制器 + *
+ * + * @author limqsh + * @since 2022-05-01 + */ +@RestController +@RequestMapping("/wx") +public class WxSettingsController { + + @Resource + private AccountCheckService accountCheckService; + + @PostMapping("user/login") + public ResponseDTO userIndexBlog(SearchPage searchPage){ + ResponseDTO result = ResponseDTO.ok(); + result.setData(accountCheckService.getUserId("openid")); + return result; + } + +} + diff --git a/src/main/java/com/quinn/dto/req/BaseReq.java b/src/main/java/com/quinn/dto/req/BaseReq.java index 7e76f07..94ca534 100644 --- a/src/main/java/com/quinn/dto/req/BaseReq.java +++ b/src/main/java/com/quinn/dto/req/BaseReq.java @@ -7,6 +7,6 @@ import java.io.Serializable; @Data public class BaseReq implements Serializable { - private String userToken; + private String access_token; } diff --git a/src/main/java/com/quinn/dto/req/QueryTaskListReq.java b/src/main/java/com/quinn/dto/req/QueryTaskListReq.java deleted file mode 100644 index 53ea949..0000000 --- a/src/main/java/com/quinn/dto/req/QueryTaskListReq.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.quinn.dto.req; - -import com.quinn.common.TaskType; -import lombok.Data; - -@Data -public class QueryTaskListReq extends SearchPage { - - private TaskType taskType; - -} diff --git a/src/main/java/com/quinn/dto/req/SendCode.java b/src/main/java/com/quinn/dto/req/SendCode.java deleted file mode 100644 index 59bfaf0..0000000 --- a/src/main/java/com/quinn/dto/req/SendCode.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.quinn.dto.req; - -import lombok.Data; - -import java.io.Serializable; - -@Data -public class SendCode implements Serializable { - - String email; - -} diff --git a/src/main/java/com/quinn/dto/res/AboutDTO.java b/src/main/java/com/quinn/dto/res/AboutDTO.java deleted file mode 100644 index 2e2d2f5..0000000 --- a/src/main/java/com/quinn/dto/res/AboutDTO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.quinn.dto.res; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.util.Date; - -/** - *- * - *
- * - * @author limqsh - * @since 2022-05-01 - */ -@Data -public class AboutDTO implements Serializable { - - private String id; - - private String title; - - private String content; - - private String gmtCreate; - - -} diff --git a/src/main/java/com/quinn/generator/CodeGenerator.java b/src/main/java/com/quinn/generator/CodeGenerator.java index 0faf131..b3b1a7b 100644 --- a/src/main/java/com/quinn/generator/CodeGenerator.java +++ b/src/main/java/com/quinn/generator/CodeGenerator.java @@ -51,7 +51,7 @@ public class CodeGenerator { // 5、策略配置 StrategyConfig strategy = new StrategyConfig(); - strategy.setInclude("qn_user_message");//设置要映射的表名 + strategy.setInclude("qn_user");//设置要映射的表名 strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 strategy.setTablePrefix("qn_");//设置表前缀不生成 diff --git a/src/main/java/com/quinn/mapper/UserMapper.java b/src/main/java/com/quinn/mapper/UserMapper.java index c1c532f..a4a8617 100644 --- a/src/main/java/com/quinn/mapper/UserMapper.java +++ b/src/main/java/com/quinn/mapper/UserMapper.java @@ -9,8 +9,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * * * @author limqsh - * @since 2020-06-28 + * @since 2023-01-30 */ public interface UserMapper extends BaseMapper+ * 服务类 + *
+ * + * @author limqsh + * @since 2020-06-28 + */ +public interface AccountCheckService { + + String getUserId(String openid); + +} diff --git a/src/main/java/com/quinn/service/UserService.java b/src/main/java/com/quinn/service/UserService.java index 46a5376..9fc576a 100644 --- a/src/main/java/com/quinn/service/UserService.java +++ b/src/main/java/com/quinn/service/UserService.java @@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService; * * * @author limqsh - * @since 2020-06-28 + * @since 2023-01-30 */ public interface UserService extends IService