繁体   English   中英

如何在spring security中运行自定义登录页面

[英]how to run custom login page in spring security

我编写了spring security xml文件和login.jsp,controller。 但仍然无法运行它。 我收到404错误。 如何在xml中添加或配置。

谢谢

在弹簧上下文中添加如下定义。

<security:http>
<security:form-login login-page='/login' authentication-failure-url="/login?authfailed=true"/> 
<security:logout />
</security:http>

您还必须使用<security:intercept-url>定义URL模式。

您不需要自定义控制器。

您只需要提交两个值的JSP(x)

  • j_username
  • j_password

并需要更改配置以使用表单

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


<http auto-config="true" use-expressions="true">
  <logout logout-url="/static/j_spring_security_logout"/>
  <form-login  login-processing-url="/static/j_spring_security_check" login-page="/login" authentication-failure-url="/login?login_error=t"/>

    <intercept-url pattern="/js/**" access="permitAll" />
    <intercept-url pattern="/css/**" access="permitAll" />
    <intercept-url pattern="/images/**" access="permitAll" />
    <intercept-url pattern="/static/**" access="permitAll" />
    <intercept-url pattern="/login**" access="permitAll" />
    <intercept-url pattern="/**" access="isAuthenticated()" />
</http>
...

重要提示:您无需对login-page以及login-processing-url身份验证访问!

  • login-page ==用户需要输入用户名和密码时显示的页面
  • login-processing-url ==提交用户名和密码的用户

login.jspx:

<spring:url value="/static/j_spring_security_check" var="form_url" />
<form name="f" action="${fn:escapeXml(form_url)}" method="POST">
   <input type='text' name='j_username' />
   <input type='password' name='j_password' " />
   <c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}" />
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM