From 6aae87ad984f509dd9339e3cefe1380400e185ce Mon Sep 17 00:00:00 2001 From: adiao Date: Mon, 10 Apr 2023 10:32:30 +0800 Subject: [PATCH] app fix --- README.md | 3 +++ .../app/service/author/Impl/AuthorFilterImpl.java | 14 +++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f251841..d20d9fd 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,10 @@ demo-manager 层不应该处理任何与数据读写无关的业务逻辑,这 数据类型转换的操作一般应该放在服务层(demo-service)中,因为服务层位于业务逻辑处理的最上层,处理的是复杂业务,需要将不同的数据类型进行转换以便完成业务逻辑的处理。同时,服务层也是各个数据层(如demo-dao)之间调用的桥梁,能够统一处理各数据层的数据类型转换,避免业务逻辑掺杂过多的数据类型判断代码,提高代码的可维护性和可读性 +### 实现登录认证的步骤: +1. 首先从`UsernamePasswordAuthenticationFilter`入手,先重写这个过滤器,用来获取请求的信息,并将其封装到UserDetails,接着通过authenticate方法传入到authenticateManager中进行下一步的操作。 +2. 接着重写``BasicAuthenticationFilter `` 这个过滤器,作为token的校验。 # 延伸阅读 diff --git a/app-service/src/main/java/co/depsystem/app/service/author/Impl/AuthorFilterImpl.java b/app-service/src/main/java/co/depsystem/app/service/author/Impl/AuthorFilterImpl.java index bfe79a0..1e33d89 100644 --- a/app-service/src/main/java/co/depsystem/app/service/author/Impl/AuthorFilterImpl.java +++ b/app-service/src/main/java/co/depsystem/app/service/author/Impl/AuthorFilterImpl.java @@ -9,18 +9,30 @@ package co.depsystem.app.service.Author.Impl; import co.depsystem.app.api.Common.ResponseResult; import jakarta.annotation.Resource; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.stereotype.Service; +import java.io.IOException; + /** * 认证服务 * @author adiao */ @Service -public class AuthorFilterImpl { +public class AuthorFilterImpl implements AuthenticationEntryPoint { @Resource public ResponseResult result; + @Override + public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException { + + } + /** 用户认证 * @param user User