2012-06-21 4 views
3

Я создал фильтр защиты от пружин, как показано ниже.Spring Security with DelegatingFilterProxy

<!-- Enables Spring Security --> 
    <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> 
<!-- End Spring Security --> 

<servlet> 
    <servlet-name>remoting</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-   
class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/remoting-servlet.xml</param-value> 
    </init-param> 
    <load-on-startup>2</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>remoting</servlet-name> 
    <url-pattern>/remoting/*</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>remoting</servlet-name> 
    <url-pattern>/admin</url-pattern> 
</servlet-mapping> 

И кроме этого я могу заверить, что все правильно. Но только проблема у меня есть,

Когда я обращаюсь к ссылке http://localhost:8080/myContext/remoting/Services, фильтр Spring не вызывается для аутентификации, а напрямую обращается к моим службам.

Когда я добавляю строку ниже в web.xml. Он работает правильно.

<filter-mapping> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/remoting/*</url-pattern> 
</filter-mapping> 

У меня есть сомнения, так как мое фильтрационное отображение уже определено как/*. почему я должен снова определить еще одно фильтрационное сопоставление.

+0

Вы можете включить отладку путем добавления 'log4j.logger.org.springframework.security = DEBUG' в' ЦСИ/main/resources/log4j.properties' и пост-вывод? – Xaerxess

+0

У вас есть фильтры? – axtavt

+0

вы можете попробовать / Subin

ответ

0

Он работал для меня успешно, как я добавил ниже фрагмент кода в весенне-security.xml

<http auto-config="true"> 
    <intercept-url pattern="/**" access="ROLE_USER" />// pattern was modified to /** 
    <http-basic/> 
</http> 
Смежные вопросы