網頁

2018/3/15

Spring Security <form-login> 屬性 login-processing-url

Spring Security的配置元素<form-login>的屬性login-processing-url是用來設定登入表單的action的登入路徑。

引述官方文件說明

login-processing-url Maps to the filterProcessesUrl property of UsernamePasswordAuthenticationFilter. The default value is "/login".

Spring Security預設登入路徑為/login,如果想改成其他路徑在login-processing-url設定,例如在Spring Security配置檔設定如下。

<security:http auto-config="true">
  <security:intercept-url pattern="/login.jsp" access="permitAll()" />
  <security:intercept-url pattern="/**" access="isAuthenticated()"/>
  <security:form-login
       login-page="/login.jsp"
       login-processing-url="/doLogin" />

因為<security:form-login login-page="/login.jsp" login-processing-url="/doLogin" />,所以在登入頁面login.jsp的form表單的action="doLogin"撰寫如下。

<form name='loginForm' action="doLogin" method='POST'>
  <table>
    <tr>
      <td>使用者名稱:</td>
      <td><input type='text' name='username' value=''></td>
    </tr>
    <tr>
      <td>密碼:</td>
      <td><input type='password' name='password' /></td>
    </tr>
    <tr>
      <td><input name="submit" type="submit" value="submit" /></td>
    </tr>
  </table>
</form>


參考:

沒有留言:

張貼留言