当我提交loginForm时,它的回复为location:login.jsp
所以它总是将我重定向回login.jsp
但是我确定我的用户名和密码正确
然后我重写了UserDetailsService
,我检查了是否不采取此步骤
那么,问题出在哪里呢?
谢谢!
配置文件:
<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>
答案 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"
成功登录!