我都是,
我有一个使用基于角色的安全性的spring应用程序。应用程序工作正常,我只需要介绍一些静态HTML页面,这些页面也将在同一场战争中托管。因此,如果www.myapp.com/abc/work.jsp是我的安全页面,那么www.myapp.com/home.htm应该显示静态html页面。我已经合并了HTML文件,但问题是我在www.myapp.com/home.htm上获得404,www.myapp.com / abc / work.jsp工作正常。
web.xml -
<display-name>guru</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/app-security-config.xml</param-value>
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/home.htm</welcome-file>
</welcome-file-list>
我的app-security-config.xml
<http auto-config="false" disable-url-rewriting="false" access-decision-manager-ref="accessDecisionManager"
entry-point-ref="authenticationProcessingFilterEntryPoint">
<custom-filter position="FORM_LOGIN_FILTER" ref="authenticationProcessingFilter" />
<custom-filter position="LOGOUT_FILTER" ref="customLogoutFilter"/>
<access-denied-handler error-page="/login.jsp?login_error=true"/>
<intercept-url pattern="/login.htm" filters="none" />
<intercept-url pattern="/abc/def/**" access="ROLE_USER"/>
<intercept-url pattern="/**" access="ROLE_ANONYMOUS" />
<anonymous enabled='true'/>
<session-management session-authentication-strategy-ref="sas"/>
<custom-filter position="CONCURRENT_SESSION_FILTER" ref="concurrencyFilter" />
</http>
答案 0 :(得分:1)
您好应该为调度程序servlet配置中的静态内容提供映射,例如:
<mvc:resources mapping="/resources/**" location="/WEB-INF/" />
这样,如果您的静态home.htm内容位于/ WEB-INF /文件夹内,您可以从url /resources/home.htm访问它。 这将避免弹簧拦截并重定向到控制器所有路径以/ resources保留该路径到静态资源(如图像,css文件,脚本和html静态页面)