SpringSecurity将我重定向回login.jsp

时间:2019-03-05 12:05:09

标签: jsp spring-security

当我提交loginForm时,它的回复为location:login.jsp
所以它总是将我重定向回login.jsp
但是我确定我的用户名和密码正确
然后我重写了UserDetailsService,我检查了是否不采取此步骤
那么,问题出在哪里呢?
谢谢!

response info

配置文件:

<http pattern="/login_sso.jsp" security="none"></http>
<http pattern="/css/**" security="none"></http>
<http pattern="/fonts/**" security="none"></http>
<http pattern="/images/**" security="none"></http>
<http pattern="/js/**" security="none"></http>
<http pattern="/lib/**" security="none"></http>
<http pattern="/plugins/**" security="none"></http>
<http use-expressions="false">
    <intercept-url pattern="/**" access="ROLE_USER" />
    <form-login login-page="/login_sso.jsp" default-target-url="/index.html" login-processing-url="/j_spring_security_check"
        authentication-failure-url="/login_sso.jsp" always-use-default-target="true"/>  
    <csrf disabled="true"/>
    <headers>
        <frame-options policy="SAMEORIGIN"/>
    </headers>
    <logout logout-url="/logout" logout-success-url="/login_sso.jsp"/>
</http>

jsp:

<form id="loginForm" name="loginForm" action="/modify/j_spring_security_check" method="post" >
            <input type="text" id="username" name="name"  />
            <input type="password" id="password" name="password" />
            <input value="login" style="width:100%;" type="button" onclick="document:loginForm.submit()">
        </form>

2 个答案:

答案 0 :(得分:0)

<form id="loginForm" name="loginForm" action="/modify/j_spring_security_check" method="post" >

操作网址为/modify/j_spring_security_check,但处理网址为/j_spring_security_check

<form-login login-page="/login_sso.jsp" default-target-url="/index.html" login-processing-url="/j_spring_security_check"
        authentication-failure-url="/login_sso.jsp" always-use-default-target="true"/>  
    <csrf disabled="true"/>

尝试将它们更改为相同。

答案 1 :(得分:0)

我再次检查login-processing-url
当我设置login-processing-url="login"(或不设置login-processing-url)时
我可以使用action="/login"post url=http://localhost:8080/login登录
但是当我在tomcat 7.0部署它时
我设置了login-processing-url="login"action="/login
将网址更改为http://localhost:8080/project/login,响应为404
最后,login-processing-url="/project/login"action="/project/project/login"  
成功登录!