현재 JSP 페이지를 보호하고 표시 할 수 있지만 나머지 종료점은 찾을 수 없습니다 (나머지 모든 AJAX 호출의 경우 404). 나머지 끝점을 찾았지만 HTML 캔트를 발견하고 보안 검사를 수행하지 않을 경우 다른 것을 변경했습니다.저지 스프링 보안 HTML AJAX가 예상대로 작동하지 않습니다.
무엇이 누락 되었습니까?
security.xml
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<http pattern="/images/**" security="none"/>
<http pattern="/css/**" security="none"/>
<http pattern="/js/**" security="none"/>
<http auto-config="true" disable-url-rewriting="true">
<intercept-url pattern="/login-page.html" access="ROLE_ANONYMOUS"/>
<intercept-url pattern="/**" access="ROLE_USER, ROLE_ADMIN" />
<form-login login-page='/login-page.html' default-target-url="/static-page.jsp" />
</http>
<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="select USERNAME, PASSWORD, ENABLED
from USERS where USERNAME=?"
authorities-by-username-query="
select U.USERNAME, UR.AUTHORITY from USERS U, ROLES UR
where U.USERNAME=UR.USERNAME and U.USERNAME=?"
/>
</authentication-provider>
</authentication-manager>
</beans:beans>
web.xml의 웹 애플리케이션 폴더에서
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:server-context.xml, classpath:spring-security.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>
com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>service.admin</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/test-app/*</url-pattern>
</servlet-mapping>
<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>
</web-app>
나는 * .jsp를 JS에게 WEB-INF 아래 파일을 & CSS & 이미지 폴더 플러스 * .html 중에서 및가 web.xml 폴더가있는 곳입니다. 다른 곳에서 html 파일을 넣어야하고 web.xml에 어떻게 매핑해야합니까?
2 개의 개별 질문. 당신은 참석하는 사람들이 모순되는 세부 사항에 산만 해지지 않으므로 더 나은 답변을 얻을 수 있습니다. – jmort253
이 두 번째 질문에 대한 가정 해 봅시다. 'HTML 페이지에서도 작동 할 수 있습니까?' HTML 페이지에서 작동한다는 것은 무엇을 의미합니까? – jmort253
두 번째 질문은 제거되었지만 질문에 답하기 위해 로그인하지 않은 경우 스프링 보안으로 정적 HTML 파일을 보호하고 강제로 로그인 할 수 있습니다. – Dennis