1

我想实现 Spring Security + Struts2

执行项目时遇到问题:

没有为命名空间 [/] 映射的操作和与上下文路径 [/Project] 关联的操作名称 [j_spring_security_check] 因为在 struts.xml 中没有名为“j_spring_security_check”的操作

我该如何解决这个问题?这是代码Login.jsp

登录.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>
4

1 回答 1

0

表单动作应该在struts过滤器之前由spring security处理。确保过滤器的顺序如下

<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>
于 2015-08-21T08:43:18.737 回答