java - Spring Security Login Error : HTTP Status 404 - /j_spring_security_check -


hi trying configure spring security on application.but once enter username , password , submit form, error

http status 404 - /j_spring_security_check requested resource not available.

enter image description here

following configuration files :

web.xml

<filter-mapping>     <filter-name>characterencodingfilter</filter-name>     <url-pattern>/*</url-pattern> </filter-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>     <listener>     <listener-class>org.springframework.web.context.contextloaderlistener</listener-class> </listener>  <context-param>     <param-name>contextconfiglocation</param-name>     <param-value>/web-inf/applicationcontext.xml,/web-inf/tasktracker-app.xml,/web-inf/tasktracker-servlet.xml,/web-inf/tasktracker-security.xml</param-value> </context-param>  <servlet>     <servlet-name>tasktracker</servlet-name>     <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>     <load-on-startup>2</load-on-startup> </servlet>  <servlet-mapping>     <servlet-name>tasktracker</servlet-name>     <url-pattern>*.html</url-pattern> </servlet-mapping> 

tasktracker-servlet.xml

<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:tx="http://www.springframework.org/schema/tx"     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"     xsi:schemalocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  http://www.springframework.org/schema/aop   http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx-3.0.xsd   http://www.directwebremoting.org/schema/spring-dwr  http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">      <bean id="tasktrackerlogincontroller"         class="org.springframework.web.servlet.mvc.parameterizableviewcontroller">         <property name="viewname">             <value>/tasktracker/sign-in</value>         </property>     </bean>      <bean id="tasktrackererrorcontroller"         class="org.springframework.web.servlet.mvc.parameterizableviewcontroller">         <property name="viewname">             <value>/tasktracker/error</value>         </property>     </bean>      <bean id="welcomecontroller" class="com.tracker.web.controllers.welcomecontroller">         <property name="businesslogic">             <ref bean="businesslogic" />         </property>         <property name="viewname">             <value>/tasktracker/welcome</value>         </property>     </bean>      <bean id="nonsecurepagemappings"         class="org.springframework.web.servlet.handler.simpleurlhandlermapping">         <property name="mappings">             <props>                 <prop key="/tasktracker/sign-in.html">tasktrackerlogincontroller</prop>                 <prop key="/tasktracker/error.html">tasktrackererrorcontroller</prop>             </props>         </property>     </bean>     <bean id="pagemappings"         class="org.springframework.web.servlet.handler.simpleurlhandlermapping">         <property name="mappings">             <props>                  <prop key="/tasktracker/welcome.html">welcomecontroller</prop>              </props>         </property>     </bean>      <bean id="viewresolver"         class="org.springframework.web.servlet.view.internalresourceviewresolver">         <property name="viewclass">             <value>org.springframework.web.servlet.view.jstlview</value>         </property>         <property name="prefix">             <value>/web-inf/jsp/</value>         </property>         <property name="suffix">             <value>.jsp</value>         </property>     </bean> </beans> 

tasktracker-security.xml

<beans xmlns="http://www.springframework.org/schema/beans"     xmlns:security="http://www.springframework.org/schema/security"     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.0.xsd">      <bean id="securityservice" class="com.tracker.web.security.securityservice">         <property name="businesslogic">             <ref bean="businesslogic" />         </property>     </bean>      <security:http access-denied-page="/tasktracker/tracker/error.html" auto-config="false">         <security:session-management invalid-session-url="/tasktracker/sign-in.html">         </security:session-management>         <security:form-login login-page="/tasktracker/sign-in.html" default-target-url="/tasktracker/welcome.html"             always-use-default-target="false" authentication-failure-url="/tasktracker/sign-in.html?error=1" />         <security:logout invalidate-session="true" logout-success-url="/tasktracker/sign-in.html" />         <security:intercept-url pattern="/tasktracker/sign-in.html*" filters="none" />         <security:intercept-url pattern="/tasktracker/welcome.html*" />     </security:http>      <security:authentication-manager>         <security:authentication-provider user-service-ref="securityservice" />     </security:authentication-manager>  </beans>  

tasktracker-app.xml

<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans"     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:tx="http://www.springframework.org/schema/tx"     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"     xsi:schemalocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  http://www.springframework.org/schema/aop   http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx-3.0.xsd   http://www.directwebremoting.org/schema/spring-dwr  http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">      <bean id="userdao" class="com.tracker.data.dao.jdbc.userjdbcdao">         <property name="datasource">             <ref bean="datasource" />         </property>     </bean>      <bean id="businesslogic" class="com.tracker.business.logic.trackerbusinesslogicimpl">         <property name="userlogic">             <ref bean="userlogic" />         </property>     </bean>      <bean id="userlogic" class="com.tracker.business.logic.user.userlogic">         <property name="userdao">             <ref bean="userdao" />         </property>     </bean> </beans> 

securityservice.java

package com.tracker.web.security;  import org.apache.log4j.logger; import org.springframework.dao.dataaccessexception; import org.springframework.security.core.userdetails.userdetails; import org.springframework.security.core.userdetails.userdetailsservice; import org.springframework.security.core.userdetails.usernamenotfoundexception;  import com.tracker.business.logic.trackerbusinesslogic; import com.tracker.business.model.user;  public class securityservice implements userdetailsservice {     private final static logger log = logger.getlogger(securityservice.class);     private trackerbusinesslogic trackerbusinesslogic;      public userdetails loaduserbyusername(string username)             throws usernamenotfoundexception, dataaccessexception {          string errmsg = "user username: " + username;          user user = trackerbusinesslogic.loaduser(username);         if(user!=null) {             // user has been loaded         } else {             log.error("user username: " + username + " not found");         }         return user;     }      public trackerbusinesslogic getbusinesslogic() {         return trackerbusinesslogic;     }      public void setbusinesslogic(trackerbusinesslogic trackerbusinesslogic) {         this.trackerbusinesslogic = trackerbusinesslogic;     } } 

sign-in.jsp

<html lang="en-us"> <head>     <title>login</title> </head> <body> <div class="login">     <h1>task tracker login</h1>     <form action="/j_spring_security_check" method="post">         <input type="text" name="j_username" value="" placeholder="username" required="required" />         <input type="password" name="j_password" placeholder="password" required="required" />         <input type="hidden" name="referrer" value="${param.referrer}" />         <input type="submit" value="let me in." class="btn btn-primary btn-block btn-large">     </form> </div> </body>  </html> 

please me missing here. thank you.

in sign-in.jsp, need change url submitting login request, can achieve below:

<c:url value="/j_spring_security_check" var="loginurl" /> 

and use in form action:

<form action="${loginurl}" method="post"> 

the login-processing-url attribute defaults /j_spring_security_check, , specifies url login form (which should include username , password) should submitted to, using http post.


Comments

Popular posts from this blog

php - Add the correct number of days for each month -

java.util.scanner - How to read and add only numbers to array from a text file -