Реализация Spring Security с помощью Struts 2

#spring-security #struts2

#java #spring #spring-безопасность #struts2 #сопоставление действий

Вопрос:

Я хочу реализовать Spring Security Struts2

У меня возникла проблема при выполнении моего проекта :

Для пространства имен [/] и имени действия [j_spring_security_check], связанного с контекстным путем [/Project], нет действия с именем ‘j_spring_security_check’ в struts.xml

Как я могу это решить? Это код для Login.jsp

Login.jsp

 <form action="/j_spring_security_check" method="POST">
    <input type="text" placeholder="ID Utilisateur" name="j_username" autofocus>
    <input type="password" placeholder="Mot de passe" name="j_password">
    <button type="submit"><i class="fa fa-lock"></i>   Se Connecter</button>
</form>
 

Ответ №1:

Действие формы должно быть обработано spring security перед фильтром struts. Убедитесь, что порядок фильтров следующий

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

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

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

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