spring security 4.2.2 自定義登錄界面

搭建基本環(huán)境

詳情見 spring-security入門

項(xiàng)目目錄結(jié)構(gòu)如下:

項(xiàng)目目錄結(jié)構(gòu)

創(chuàng)建登錄界面

在 webapp/ 下創(chuàng)建log.jsp,登陸表單代碼如下:

<html>
    <body>
        <form action="j_spring_security_check" method="POST">
            <input type="text" name="username"  /> </br> 
            <input type="password" name="password" /> </br> 
            <input type="submit" value="submit" />
        </form>
    </body>
</html>

注意:

  • 表單提交到 j_spring_security_check 。
  • post 方法提交表單。
  • 用戶名name使用 username。
  • 用戶密碼name使用 password。

修改spring-security配置文件security.xml

在security.xml文件中增加以下內(nèi)容:

<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.xsd">

    <http pattern="/login.jsp" security="none" />
    <http auto-config="true" use-expressions="true">
        <intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
        <form-login 
            login-page="/login.jsp" 
            login-processing-url="/j_spring_security_check" 
            authentication-failure-url="/login.jsp"
            default-target-url="/index.jsp" />
        <csrf disabled="true" />
    </http>
    <user-service>
        <user name="user" password="password" authorities="ROLE_USER" />
    </user-service>
</b:beans>

注意:

  • <http pattern="/login.jsp" security="none" /> 表示對(duì)于 /login.jsp 不做權(quán)限過濾。

  • <intercept-url pattern="/**" access="hasRole('ROLE_USER')" /> 表示具有ROLE_USER權(quán)限的用戶才能訪問全部路徑。

  • <form-login /> 標(biāo)簽用于自定義登錄界面。

1.  login-page="/login.jsp" 表示使用login.jsp代替默認(rèn)登陸界面。 

2.  login-processing-url="/j_spring_security_check"  使用spring-security 4.x版本必須添加該屬性,表示登錄表單提交路徑。

3.  authentication-failure-url="/login.jsp" 表示授權(quán)失敗之后跳轉(zhuǎn)到login.jsp界面。

4.  default-target-url="/index.jsp" 表示授權(quán)成功之后默認(rèn)跳轉(zhuǎn)到index.jsp界面。
  • <user /> 標(biāo)簽用于授權(quán)用戶,屬性name標(biāo)志用戶名,password標(biāo)志用戶密碼,屬性authorities用來標(biāo)志該用戶所有的權(quán)限。

發(fā)布項(xiàng)目

項(xiàng)目運(yùn)行結(jié)果如下圖:

登陸界面
登陸成功界面

源碼

點(diǎn)擊下載源碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容