2016-01-31 28 views
12

Yaylı güvenlik nedeniyle, oturum açma sayfasını açtığımda, formunu göndermeden önce aşağıdaki hata iletisini gösteriyor. Sorunu çözmek için hiçbir fikrim yok.Spring security 'Özel üyelik için' giriş denemeniz başarılı olmadı ''

Your login attempt was not successful due to 

my-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" 
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:aop="http://www.springframework.org/schema/aop" 
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd 
http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.2.xsd 
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> 


..... 

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" 
     destroy-method="close"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost:8889/myproject" /> 
     <property name="username" value="test" /> 
     <property name="password" value="test" /> 
    </bean> 

    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" 
     depends-on="dataSource"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="packagesToScan" value="com.myproject.model" /> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
       <prop key="hibernate.format_sql">true</prop> 
       <prop key="hibernate.use_sql_comments">true</prop> 
       <prop key="hibernate.show_sql">true</prop> 
       <prop key="hibernate.hbm2ddl.auto">update</prop> 
      </props> 
     </property> 
    </bean> 

<bean id="transactionManager" 
     class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory"></property> 
    </bean> 

    <tx:advice id="txAdvice" transaction-manager="transactionManager"> 
     <tx:attributes> 
      <tx:method name="get*" read-only="true" /> 
      <tx:method name="find*" read-only="true" /> 
      <tx:method name="*" /> 
     </tx:attributes> 
    </tx:advice> 

    <aop:config> 
     <aop:pointcut id="userServicePointCut" 
      expression="execution(* com.myproject.service.*Service.*(..))" /> 
     <aop:advisor advice-ref="txAdvice" pointcut-ref="userServicePointCut" /> 
    </aop:config> 

</beans> 

yay 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.2.xsd"> 
    <beans:import resource='login-service.xml' /> 
    <http auto-config="true" use-expressions="true"> 
     <intercept-url pattern="/" access="permitAll" /> 
     <intercept-url pattern="/member**" access="hasRole('ROLE_MEMBER')" /> 
     <intercept-url pattern="/signin" access="permitAll" /> 
     <access-denied-handler error-page="/403" /> 
     <form-login login-page="/signin" default-target-url="/index" 
      authentication-failure-url="/signin?error" username-parameter="username" 
      password-parameter="password" /> 
     <logout logout-success-url="/login?logout" /> 
     <!-- enable csrf protection --> 
     <csrf /> 
    </http> 
    <authentication-manager> 
     <authentication-provider user-service-ref="myMemberDetailsService"> 
      <password-encoder hash="bcrypt" /> 
     </authentication-provider> 
    </authentication-manager> 
</beans:beans> 

giriş-service.xml

<beans xmlns="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"> 

      <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" 
     destroy-method="close"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost:8889/myproject" /> 
     <property name="username" value="test" /> 
     <property name="password" value="test" /> 
    </bean> 



</beans> 

giriş sayfası

<c:if test="${not empty SPRING_SECURITY_LAST_EXCEPTION}"> 
    <font color="red"> Your login attempt was not successful due 
     to <br /> 
    <br /> <c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}" />. 
    </font> 
</c:if> 
<div class="row"> 
    <div class="col-sm-7"> 
     <div> 
      <div> 
       <h2 class="panel-title">Log-in</h2> 
      </div> 
      <c:if test="${not empty param.error}"> 
       Invalid username and password. 
      </c:if> 
      <c:if test="${not empty error}"> 
       <div class="error">${error}</div> 
      </c:if> 
      <c:if test="${not empty msg}"> 
       <div class="msg">${msg}</div> 
      </c:if> 
      <div> 
       <form id="form-login" role="form" method="post" 
        action="<c:url value='/j_spring_security_check' />" 
        class="relative form form-default"> 
        <input type="hidden" name="${_csrf.parameterName}" 
         value="${_csrf.token}" /> 
        <p class="leyend">* Required information</p> 
        <div class="form-group clearfix"> 
         <label for="input-email-01" class="col-xs-12 control-label">Email 
          *</label> 
         <div class="input-group col-sm-10"> 
          <span class="input-group-addon">@</span> <input type="email" 
           name="username" id="input-email-01" class="form-control" 
           placeholder="Enter email" required> 
         </div> 
        </div> 
        <div class="form-group clearfix"> 
         <label for="input-password-01" class="col-xs-12 control-label">Password 
          *</label> 
         <div class="col-sm-10"> 
          <input type="password" name="password" id="input-password-01" 
           class="form-control" placeholder="Enter password" required> 
         </div> 
        </div> 
        <div class="form-group clearfix"> 
         <div class="col-xs-12"> 
          <button type="submit" class="btn btn-action btn-validate">Log 
           In</button> 
         </div> 
        </div> 
       </form> 
+0

Giriş sayfanızın işaretini kaydedin. –

+0

@RobertMoskal Ben sadece teşekkürler sağladım. – Jack

+0

Yapılandırma işleminiz, '/ signin' şeklinde yapılandırmanızdır, ancak JSP'ye göre ' '. JSP'nizi '/ signin' olarak değiştirmeyi deneyin. Lütfen j_spring_security_check'in değiştirildiğini unutmayın. http://spring.io/blog/2013/07/03/spring-security-java-config-preview-web-security/ – ArunM

cevap

1

SPRING_SECURITY_LAST_EXCEPTION daima değerini içeren bir sabittir dolayı olabilir.

<c:if test="${not empty SPRING_SECURITY_LAST_EXCEPTION.message}"> 

için

<c:if test="${not empty SPRING_SECURITY_LAST_EXCEPTION}"> 

değişen yardımcı olabilir.

İlgili konular