短视频开发app,webservice自定义加入拦截器

短视频开发app,webservice自定义加入拦截器实现的相关代码

1 pom.xml文件

 

1
<br><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><br>  <modelVersion>4.0.0</modelVersion><br>  <groupId>com.jaxWsService</groupId><br>  <artifactId>jaxWsService</artifactId><br>  <version>0.0.1-SNAPSHOT</version><br>  <packaging>war</packaging><br>  <br><name>01_jaxws_server</name><br>    <dependencies><br>        <!-- 要进行jaxws 服务开发 --><br>        <dependency><br>            <groupId>org.apache.cxf</groupId><br>            <artifactId>cxf-rt-frontend-jaxws</artifactId><br>            <version>3.0.1</version><br>        </dependency><br>        <!-- 内置jetty web服务器  --><br>        <dependency><br>            <groupId>org.apache.cxf</groupId><br>            <artifactId>cxf-rt-transports-http-jetty</artifactId><br>            <version>3.0.1</version><br>        </dependency><br>        <!-- 日志实现 --><br>        <dependency><br>            <groupId>org.slf4j</groupId><br>            <artifactId>slf4j-log4j12</artifactId><br>            <version>1.7.12</version><br>        </dependency><br>        <dependency><br>            <groupId>junit</groupId><br>            <artifactId>junit</artifactId><br>            <version>4.10</version><br>            <scope>test</scope><br>        </dependency><br>    </dependencies><br>    <build><br>        <pluginManagement><br>            <plugins><br>                <plugin><br>                    <groupId>org.apache.maven.plugins</groupId><br>                    <artifactId>maven-compiler-plugin</artifactId><br>                    <version>3.2</version><br>                    <configuration><br>                        <source>1.8</source><br>                        <target>1.8</target><br>                        <encoding>UTF-8</encoding><br>                        <showWarnings>true</showWarnings><br>                    </configuration><br>                </plugin><br>            </plugins><br>        </pluginManagement><br>    </build><br></project>

​2.自定义拦截器

 

1
<br>package util;<br>import java.util.List;<br>import org.apache.cxf.binding.soap.SoapMessage;<br>import org.apache.cxf.headers.Header;<br>import org.apache.cxf.interceptor.Fault;<br>import org.apache.cxf.phase.AbstractPhaseInterceptor;<br>import org.apache.cxf.phase.Phase;<br>import org.w3c.dom.Element;<br>import org.w3c.dom.NodeList;<br>public class ServiceInterceptor extends AbstractPhaseInterceptor<SoapMessage> {<br>private static String tokenKey="gacfbgjxybtrcbugaxbdgvjtertxbjFQXDVFVEWTFBA462432";<br>//在调用之前拦截<br>public ServiceInterceptor() {<br>super(Phase.PRE_INVOKE);<br>}<br>@Override<br>public void handleMessage(SoapMessage soap) throws Fault {<br>//获取请求头部信息<br>List<Header> headers = soap.getHeaders();<br>if(headers == null | headers.size()<1){<br>throw new Fault(new IllegalArgumentException("找不到Header,无法验证token信息"));<br>}<br>Header header = headers.get(0);<br>Element el = (Element)header.getObject();<br>NodeList tokens = el.getElementsByTagName("token");<br>if(tokens.getLength()<1){<br>throw new Fault(new IllegalArgumentException("无token信息"));<br>}<br>String token = tokens.item(0).getTextContent().trim();<br>//检查用户名和密码是否正确<br>if(!token.equals(tokenKey)) {<br>throw new Fault(new IllegalArgumentException("token验证失败"));<br>}else{<br>System.out.println("token验证成功");<br>}<br>//NodeList users = el.getElementsByTagName("username");<br>//NodeList passwords = el.getElementsByTagName("password");<br>////检查是否有用户名和密码元素<br>//if(users.getLength()<1){<br>//throw new Fault(new IllegalArgumentException("找不到用户信息"));<br>//}<br>//String username = users.item(0).getTextContent().trim();<br>//<br>//if(passwords.getLength()<1){<br>//throw new Fault(new IllegalArgumentException("找不到密码信息"));<br>//}<br>//String password = passwords.item(0).getTextContent();<br>//<br>////检查用户名和密码是否正确<br>//if(!"admin".equals(username) || !"admin".equals(password)){<br>//throw new Fault(new IllegalArgumentException("用户名或密码不正确"));<br>//}else{<br>//System.out.println("用户名密码正确允许访问");<br>//}<br>}<br>}

 

以上就是短视频开发app,webservice自定义加入拦截器实现的相关代码, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示