建立网站坐等访问者发现,门户网站 销售,急招临时工200元一天,wordpress 3 小工具运行php1、验证过滤器进行权限验证的原理。
Filter过滤器#xff1a;javaweb三大组件(Servlet,Filter,Listener)之一#xff1b;过滤器可以把对资源的请求拦截下来#xff0c;从而实现一些特殊功能#xff1b;过滤器一般完成一些通用操作#xff0c;比如登录校验等。
执行对应的…1、验证过滤器进行权限验证的原理。
Filter过滤器javaweb三大组件(Servlet,Filter,Listener)之一过滤器可以把对资源的请求拦截下来从而实现一些特殊功能过滤器一般完成一些通用操作比如登录校验等。
执行对应的业务功能之前先判断是否登录如果登录则访问对应的业务功能如果没有登录则返回错误信息。
定义Filter定义一个类实现Filter接口并重写其所有方法。包含初始化init方法和销毁destroy方法只调用一次doFilter方法拦截请求之后调用调用多次
配置FilterFilter类上加WebFilter注解配置拦截路径的资源启动类上加ServletComponebtScan开启Servlet组件支持。
package com.example.librarymasterlendlist.filter;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;WebFilter(urlPatterns /*)
public class DemoFilter implements Filter {Override//初始化方法只调用一次public void init(FilterConfig filterConfig) throws ServletException {System.out.println(init 初始化方法执行了);}Override//拦截到请求之后调用调用多次public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println(拦截到了请求……放行前逻辑);filterChain.doFilter(servletRequest,servletResponse);System.out.println(拦截到了请求……放行后逻辑);}Override//销毁方法只调用一次public void destroy() {System.out.println(destroy 销毁方法执行了);}
}拦截到了请求
执行流程放行前的逻辑 / 放行访问对应的web资源/ 放行后的逻辑回到过滤器
放行后访问对应资源资源访问完成后还会回到Filter中执行放行后的逻辑。
postman测试拿到了响应结果 控制台输出
拦截路径
拦截具体路径/login 只访问/login路径时才会被拦截。
目录拦截/list/* 访问/list下的所有资源都会被拦截。
拦截所有/* 访问所有资源都会被拦截。
过滤器链一个web应用中可以配置多个过滤器形成过滤器链。filterChain.doFilter(servletRequest,servletResponse)表示放行到下一个过滤器如果当前时最后一个过滤器则放行到web资源当中。顺序注解配置的Filter优先级按照过滤器类名的自然排序
2、将自己之前的项目加上过滤器验证功能。
登录校验的基本流程先访问登录接口login登录成功后服务端生成一个jwt令牌并返回给前端前端将jwt令牌记录下来在后续的每一次请求中都会将jwt令牌携带到服务端。请求到达服务端后要想访问对应的服务功能此时必须先校验令牌的有效性在过滤器当中实现无效则响应错误的信息有效则放行访问对应的web资源执行对应的业务操作。
首先测试/login
测试/lend_list查询所有数据
如果改变了令牌的值则报错
3、Apifox的使用
自动生成接口和接口文档