Spring-Security (学习记录二)--修改为自己的登录页面

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

<!--
    auto-config="true"      : 自动生成登录页面
    pattern="/admin/**"     : 为配置的路径,**表示支持子目录
    access="ROLE_ADMIN"     : 需要管理员权限,“ROLE_”前缀是一个提示Spring使用基于角色的检查的标记。
    use-expressions="true"    : 表示access中支持hasRole这样的函数
 -->
<security:http auto-config="false" use-expressions="true" access-denied-page="/login.jsp?error=access-denied-page">
    <!-- xml配置,配置的 pattern="/admin/**" 表示需要登录才能访问,而登录的角色为ROLE_ADMIN
     -->
    <security:intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')" />
    <security:intercept-url pattern="/user/**" access="hasAnyRole('ROLE_USER','ROLE_ADMIN')" />    
    
    <!-- 自己配置登录页面。默认登录地址:j_spring_security_check -->
    <security:form-login default-target-url="/index.jsp" 
        username-parameter="username"
        password-parameter="password"
        authentication-failure-url="/login.jsp?error=authentication-failure-url"
        login-page="/login.jsp"
    />
    
</security:http>  

2.增加login.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录页面</title>
</head>
<body>    
    ${param.error }
    <form action="j_spring_security_check" method="post">
        <table>
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="username" /></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input type="password" name="password" /></td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit" value="登录" />
                    <input type="reset" value="重置" /></td>
            </tr>
        </table>
    </form>
</body>
</html>  

3.重启项目即可看到效果

posted @ 2016-08-25 12:33  hp柠檬茶  阅读(3043)  评论(0编辑  收藏  举报