2012-05-02 12 views
0

というタイトルは、簡単なSpring Security Testでわずかな問題が発生することを意味します。スプリングセキュリティが機能しません。私は間違って何をしていますか?

main 
java 
    de 
    cochu 
     spring 
     controller 
      HomeController 
webapp 
    WEB-INF 
    jsp 
     home.jsp 
     index.jsp 
    security-context.xml 
    spring-servlet.xml 
    web.xml 

のweb.xml:

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     /WEB-INF/security-context.xml 
    </param-value> 
</context-param> 

<filter> 
    <filter-name>filterChainProxy</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>filterChainProxy</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

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

春-servlet.xml

<context:annotation-config/> 
<context:component-scan base-package="de.cochu.spring.controller"/> 

<bean id="internalViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
    <property name="prefix" value="/WEB-INF/jsp/"/> 
    <property name="suffix" value=".jsp"/> 
</bean> 

セキュリティのcontext.xml

これは私のプロジェクトの構造(MavenのWebアプリケーション2.5)であります
<security:http auto-config="true" use-expressions="true"> 
    <security:intercept-url pattern="/**" access="ROLE_USER"/> 
</security:http> 

<security:authentication-manager> 
    <security:authentication-provider> 
     <security:user-service> 
      <security:user name="test" password="test" authorities="ROLE_USER"/> 
     </security:user-service> 
    </security:authentication-provider> 
</security:authentication-manager> 

HomeController.java

@Controller 
@RequestMapping("/") 
public class HomeController { 

    @RequestMapping(method = RequestMethod.GET) 
    public String show() { 
     return "index"; 
    } 

    @RequestMapping(value = "/secure", method = RequestMethod.GET) 
    public String secure() { 
     return "home"; 
    } 
} 

正確な問題:ログインフォームや何も開いていません。それは単にページを表示します。私はほぼすべてのURLパターンの組み合わせ/インターセプトとURLの組み合わせを試みましたが、反応はありませんでした。なにが問題ですか?

+0

あなたはすべての例外を得ていますか? – Ravi

答えて

7

FilterChainProxy Beanは(スプリングセキュリティ3.1を使用してspringSecurityFilterChainので、私は通常使用して設定をだこの

<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

にこの

<filter> 
    <filter-name>filterChainProxy</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

をあなたのweb.xmlを変更しようとすると、変更の別名で登録されています.0.RELEASE)

+0

素晴らしい、それは動作します! –

+0

私は、名前がspringSecurityFilterChainと一致しなければならないことに本当に驚いています。私はこれのために数時間前から髪を引っ張ってきました。しかし、これは春の男たちがそれをどのようにコード化したかのようです。http://docs.spring.io/spring-security/site/docs/3.0.x/reference/ns-config.html#ns-getting-started – omerio

関連する問題