Java 带DelegatingFilterProxy的Spring Security
我创建了一个spring安全过滤器,如下所示Java 带DelegatingFilterProxy的Spring Security,java,spring,servlets,spring-security,servlet-filters,Java,Spring,Servlets,Spring Security,Servlet Filters,我创建了一个spring安全过滤器,如下所示 springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /* 远程处理 org.springframework.web.servlet.DispatcherServlet 上下文配置位置 /WEB-INF/remoting-servlet.xml 2. 远程处理 /远程处理/* 远程处理 /管理员
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
远程处理
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/remoting-servlet.xml
2.
远程处理
/远程处理/*
远程处理
/管理员
除此之外,我可以保证一切都是正确的。但我唯一的问题是
当我访问链接时http://localhost:8080/myContext/remoting/Services
Spring筛选器不用于身份验证,而是直接访问我的服务
当我在web.xml中添加以下行时。它工作正常
springSecurityFilterChain
/远程处理/*
我所怀疑的是,我的过滤器映射已经定义为/*。为什么我还要再定义一个过滤器映射呢。当我在spring-security.xml中添加下面的代码片段时,它成功地为我工作了
<http auto-config="true">
<intercept-url pattern="/**" access="ROLE_USER" />// pattern was modified to /**
<http-basic/>
</http>
//模式被修改为/**
您可以通过将log4j.logger.org.springframework.security=DEBUG
添加到src/main/resources/log4j.properties
和post输出来启用调试吗?您还有其他过滤器吗?您可以尝试一下吗/@Xaerxess:我实际上遇到了一个异常。与此类似,Servlet远程处理的Servlet.service()在java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)在java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)在java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)处抛出异常java.io.EOFEException位于org.springframework.core.ConfigurableObjectInputStream的java.io.ObjectInputStream。(ObjectInputStream.java:279)。@axtavt:没有其他筛选器。