Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc Spring安全表单登录不工作_Spring Mvc_Spring Security - Fatal编程技术网

Spring mvc Spring安全表单登录不工作

Spring mvc Spring安全表单登录不工作,spring-mvc,spring-security,Spring Mvc,Spring Security,我是SpringSecurity的新手,我正在尝试为我的SpringMVC应用程序实现安全性。问题是我正在路由到我的自定义登录页面并输入有效凭据,但它再次路由到同一登录页面。以下是配置 web.xml 春砖 index.jsp 春天 org.springframework.web.servlet.DispatcherServlet 1. 春天 / org.springframework.web.context.ContextLoaderListener 上下文配置位置 /WEB-INF/spr

我是SpringSecurity的新手,我正在尝试为我的SpringMVC应用程序实现安全性。问题是我正在路由到我的自定义登录页面并输入有效凭据,但它再次路由到同一登录页面。以下是配置

web.xml

春砖
index.jsp
春天
org.springframework.web.servlet.DispatcherServlet
1.
春天
/
org.springframework.web.context.ContextLoaderListener
上下文配置位置
/WEB-INF/spring-security.xml
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
spring-security.xml

如果我只指定
并删除
应用程序,则该应用程序工作正常。但我想显示我的自定义登录页面

Login.jsp

用户名
密码
登录
${sessionScope[“SPRING\u SECURITY\u LAST\u EXCEPTION”].message}
Spring框架版本-4.3.7.1发布和 Spring安全版本-4.2.3.0版本

请帮助我哪里做错了


谢谢。

我通过上面的链接解决了我的问题

这是我的更新代码

 <b:beans xmlns="http://www.springframework.org/schema/security"
 xmlns:b="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.xsd
 http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.2.xsd ">

 <b:bean id="springSecurityFilterChain" class="org.springframework.web.filter.DelegatingFilterProxy" />

 <http use-expressions="true">
 <intercept-url pattern="/login*" access="isAnonymous()" />
 <intercept-url pattern="/**" access="isAuthenticated()"/>
 <form-login login-page="/login" default-target-url="/homepage" authentication-failure-url="/login" 
 always-use-default-target="true" /> 
 <logout logout-url="/logout" logout-success-url="/login" />
 <csrf disabled="true"/>
 </http>

 <authentication-manager>
 <authentication-provider>
 <user-service>
 <user name="admin" password="admin" authorities="Admin,User" />
 </user-service>
 </authentication-provider>
 </authentication-manager>

 </b:beans>


由于
j\u spring\u security\u check
已被弃用,我在jsp操作中使用了“login”

当你的应用程序运行正常时,你会指定和删除什么?请看这个例子。这可能会对你有所帮助。你的例子真的帮了大忙@dur感谢您的更新,您的权利我使用了
登录
而不是
j_-spring\u-security\u-check
。您好,我遇到了类似的问题。我的登录以前工作过,使用/login而不是/j_spring_security_check,但是出于某种原因,它只是开始将我重定向到/login,而不是实际调用spring安全登录,即使我在键入时确保将其设置为spring安全登录。这只会让我点击登录按钮并返回登录页面。你知道为什么吗?我很乐意帮助你,@Arjs。干杯如果您想了解更多信息,这里有一个官方链接,它解释了有关使用Spring Security的自定义登录页面的所有信息。@MAC我想在不应该进行身份验证的地方实现healthcheck,如何实现?健康检查url为/healthcheck。我只是想知道如何修改截取url。。。请帮助不要在这里问新问题,你应该提出一个新问题并单独提问。你肯定会得到一个快速的答案。我找到了。。我们必须像下面那样配置单独的http节点
 <b:beans xmlns="http://www.springframework.org/schema/security"
 xmlns:b="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.xsd
 http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.2.xsd ">

 <b:bean id="springSecurityFilterChain" class="org.springframework.web.filter.DelegatingFilterProxy" />

 <http pattern="/login" security="none" />

 <http use-expressions="true">
 <intercept-url pattern="/**" access="isAuthenticated()" />
 <form-login login-page="/login" default-target-url="/welcome" authentication-failure-url="/login" /> 
 <logout logout-url="/logout" logout-success-url="/welcome" />
 <csrf disabled="true"/>
 </http>

 <authentication-manager>
 <authentication-provider>
 <user-service>
 <user name="admin" password="admin" authorities="Admin,User" />
 </user-service>
 </authentication-provider>
 </authentication-manager>

 </b:beans>
 <form action="j_spring_security_check" method="POST" >
 <div class="form-group">
 <label for="exampleInputEmail1">User Name</label> 
 <input type="text" class="form-control" name="j_username" placeholder="Enter User Name" required="required">
 </div>

 <div class="form-group">
 <label for="exampleInputPassword1">Password</label> 
 <input type="password" class="form-control" name="j_password" placeholder="Password" required="required">
 </div>

 <button type="submit" style="width: 100%;background: #347AB6; font-size:1.1em;" class="btn btn-large btn btn-lg btn-block bg-primary" ><b>Login</b></button>
 </form>

 <font color="red">
 <span>${sessionScope["SPRING_SECURITY_LAST_EXCEPTION"].message}</span>
 </font>
 <b:beans xmlns="http://www.springframework.org/schema/security"
 xmlns:b="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.xsd
 http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.2.xsd ">

 <b:bean id="springSecurityFilterChain" class="org.springframework.web.filter.DelegatingFilterProxy" />

 <http use-expressions="true">
 <intercept-url pattern="/login*" access="isAnonymous()" />
 <intercept-url pattern="/**" access="isAuthenticated()"/>
 <form-login login-page="/login" default-target-url="/homepage" authentication-failure-url="/login" 
 always-use-default-target="true" /> 
 <logout logout-url="/logout" logout-success-url="/login" />
 <csrf disabled="true"/>
 </http>

 <authentication-manager>
 <authentication-provider>
 <user-service>
 <user name="admin" password="admin" authorities="Admin,User" />
 </user-service>
 </authentication-provider>
 </authentication-manager>

 </b:beans>