import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AuthorityFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
HttpServletResponse nHttpServletResponse = (HttpServletResponse) response;
HttpServletRequest nHttpServletRequest = (HttpServletRequest) request;
String nAppKey = nHttpServletRequest.getHeader("Accept-Key");
if (nAppKey == null || "".equals(nAppKey)) {
nHttpServletResponse.setStatus(403);
return;
} else {
// 存在则验证准确性
// if (!nAppKey.toString().equals(XSetting.ZTOKEN_KEY)) {
// nHttpServletResponse.setStatus(403);
// return;
// }
}
nHttpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
nHttpServletResponse.setHeader("Access-Control-Allow-Headers","Accept-Key");
chain.doFilter(request, nHttpServletResponse);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
分享到:
相关推荐
// 允许跨域访问 response.setContentType("text/html;charset=UTF-8"); response.setHeader("Access-Control-Allow-Origin", "https://monline.01zhuanche.com"); response.setHeader("Access-Control-Allow-...
要实现Java跨域,首先需要在Web应用的`web.xml`配置文件中引入`cors-filter-1.3.2.jar`。配置如下: ```xml <filter> <filter-name>CorsFilter</filter-name> <filter-class>...
配置tomcat6的跨域访问问题,包含两个xml配置文件clientaccesspolicy.xml,crossdomain.xml,以及两个jar包cors-filter-1.7.1.jar,java-property-utils-1.9.1.jar
JAVA配置跨越访问Filter APP要访问WEB系统,需要进行跨域设置 关键: public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {}
3. **配置Filter**:在`doFilter`方法中,我们设置响应头`Access-Control-Allow-Origin`、`Access-Control-Allow-Methods`、`Access-Control-Allow-Headers`等,以允许特定或所有源进行跨域访问。 ```java @...
`cors-filter`是一个实现了CORS机制的Servlet Filter,它可以拦截HTTP请求,根据预定义的规则添加适当的响应头,从而实现跨域访问。 要将`cors-filter`集成到Tomcat中,我们需要以下步骤: 1. 将`cors-filter-1.7....
"服务端跨域访问处理.rar"这个压缩包提供了一种解决方案,主要针对Java服务器环境。接下来,我们将深入探讨跨域访问的问题,以及如何通过描述中的步骤来解决它。 跨域访问是由于浏览器的安全策略——同源策略(Same...
总的来说,`CORS跨域访问框架jra包`简化了在Java Web应用中实现CORS支持的过程,让开发者能够更便捷地处理跨域请求,提升用户体验,同时确保安全性。对于需要进行跨域操作的Web应用,这是一个非常实用的工具。
总结起来,解决Java CXF Webservice接口的跨域问题,需要利用CORS机制,配置CORS Filter,可能涉及`java-property-utils-1.9.jar`库,以及在`web.xml`中设置相应的初始化参数。同时,如果项目使用Spring框架,还可以...
7. 跨域资源共享的安全考虑:虽然CORS提供了跨域访问的能力,但也带来了安全风险。开发者需要确保只允许可信的源进行跨域请求,并限制可能暴露敏感数据的API接口。 8. 预检请求(Preflight Request):当请求的HTTP...
在开发Web应用时,我们经常会遇到“跨域访问”(Cross-Origin Resource Sharing, CORS)的问题。Tomcat作为一款广泛使用的Java Servlet容器,同样会遇到这个问题。跨域是由于浏览器的安全策略,同一源策略(Same-...
使用这个库可以帮助开发者更方便地读取、修改和管理这些配置,例如,可以方便地更新CORS策略相关的配置,如允许哪些源进行跨域访问。 在实际操作中,要实现ArcGIS Server 10.2的跨域支持,你需要按照以下步骤进行:...
本篇将详细讲解如何利用Spring解决跨域问题,以及如何使用`cors-filter-1.7.jar`和`java-property-utils-1.9.1.jar`这两个库来辅助实现。 一、Spring解决跨域问题的基本原理 1. CORS定义:跨域是指浏览器遵循同源...
这个过滤器会在请求到达目标资源之前拦截请求,检查其CORS相关头,并根据配置返回相应的响应头,从而允许跨域访问。 `java-property-utils-1.9.jar`是另一个Java库,用于处理属性文件(property files)。在J2EE...
跨域资源共享(CORS,Cross-Origin Resource Sharing)是一种机制,允许Web应用从不同的源(比如不同的域名、协议或端口)获取资源。...开发者可以利用这些工具轻松地控制跨域访问,提升Web应用的交互性。
添加跨域访问支持有两种简单的方式:一种是在所有头接口返回的response头中添加response.setHeader("Access-Control-Allow-Origin", "http://127.0.0.1/*");另外一种就是在本系统的web.xml中添加CORS支持。 CORS支持...
使用拦截器实现 CORS 需要实现 javax.servlet.Filter 接口,并在 Filter 中设置响应头,允许跨域请求访问。下面是一个简单的示例代码: ```java import javax.servlet.Filter; import javax.servlet.FilterChain; ...
`cors-filter-1.7.jar` 和 `java-property-utils-1.9.jar` 是在Java环境中实现CORS跨域访问时常用的两个库。`cors-filter-1.7.jar` 包含了一个过滤器,该过滤器能够处理HTTP请求头,允许跨域请求通过。而`java-...
Access-Control-Allow-Origin头信息被设置为"*",这意味着允许来自所有域名的跨域访问,Access-Control-Allow-Methods头信息被设置为"POST, GET, PUT, DELETE",这意味着允许使用这些方法进行跨域访问。 此外,我们...
Spring Boot 实现跨域访问实现代码 Spring Boot 是一个基于 ...Spring Boot 提供了多种方式来实现跨域访问,包括使用 filter 过滤器和 `@CrossOrigin` 注解等。开发者可以根据实际情况选择合适的方式来实现跨域访问。