2013-12-14 8 views
6

Ich versuche, Formular-basierte Authentifizierung mit Spring-Sicherheit zu implementieren. Umleitung funktioniert: meine Haupt-Seite korrekt funktioniert und für http://localhost:8080/master/admin bin ich umgeleitet zur Login-Seite (http://localhost:8080/master/login/):Warum j_spring_security_check 404?

<form action="j_spring_security_check" method="POST"> 
     <label for="username">User Name:</label> 
     <input id="username" name="j_username" type="text"/> 
     <label for="password">Password:</label> 
     <input id="password" name="j_password" type="password"/> 
     <input type="submit" value="Log In"/> 
     </form> 

but when I submit I get 404 on address: `http://localhost:8080/master/login/j_spring_security_check` 

Hier meine Konfiguration web.xml ist:

<context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring/root-context.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> 

    <!-- Creates the Spring Container shared by all Servlets and Filters --> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <!-- Processes application requests --> 
    <servlet> 
     <servlet-name>appServlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>appServlet</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

Und mein root-Kontext .xml (i gemacht Umleitung so google, dass ich weiß Seite im Kontext existiert)

<sec:http auto-config="true"> 
    <sec:intercept-url pattern="/admin/**" access="ROLE_USER" /> 
    <sec:form-login login-page="/login/" 
     authentication-failure-url="http://www.google.com" default-target-url="http://www.google.com" /> 
    <sec:logout logout-success-url="/logout" /> 
</sec:http> 

<sec:authentication-manager> 
    <sec:authentication-provider> 
     <sec:user-service> 
      <sec:user name="test" password="test" authorities="ROLE_USER, ROLE_ADMIN" /> 
      <sec:user name="testuser" password="testuserpassword" 
       authorities="ROLE_USER" /> 
     </sec:user-service> 
    </sec:authentication-provider> 
</sec:authentication-manager> 

ich schon ziemlich viel Zeit verloren haben, versuchen, verschiedene Kombinationen, aber kein Glück. Jede Hilfe wird geschätzt!

Antwort

5

ich denke, es die Tatsache sein, kann Ihr Sicherheitsformular hier zu

/master/j_spring_security_check 
+1

zeigen soll, sind einige weiteren Informationen, die Sie besser verstehen können, wie und warum: http://stackoverflow.com/questions/15365477/ Feder-3-Sicherheit-J-Feder-Sicherheits-Check –

Verwandte Themen