初識Spring security-添加security

請先查看 初識Spring security-無Security的SpringMVChtml

 

在pom.xml文件中添加包web

<!-- Spring Security -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>${spring.security.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${spring.security.version}</version>
        </dependency>

 

在web.xml文件中添加配置
<!-- Spring Security -->
    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
在HelloController文件中添加代碼
@RequestMapping(value = "/admin**", method = RequestMethod.GET)
    public ModelAndView adminPage() {
        ModelAndView model = new ModelAndView();
        model.addObject("title", "Spring Security Hello World");
        model.addObject("message", "This is protected page!);
        model.setViewName("admin");
        return model;
    }

添加模板文件admin.html,內容與hello.html一致spring

關鍵配置在spring-security.xml文件中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:security="http://www.springframework.org/schema/security"
       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">
    <security:http auto-config="true">
        <security:intercept-url pattern="/admin**" access="hasRole('ROLE_USER')"/>
    </security:http>
    <security:authentication-manager>
        <security:authentication-provider>
            <security:user-service>
                <security:user name="hongxf" password="123456" authorities="ROLE_USER" />
            </security:user-service>
        </security:authentication-provider>
    </security:authentication-manager>
</beans>

 

代表系統中添加一個用戶名是hongxf,密碼是123456,角色是ROLE_USER的用戶,並配置訪問/admin路徑及其子路徑必須含有角色 ROLE_USER。
啓動應用,訪問 http://localhost:8080/admin,則會跳轉到http://localhost:8080/login,默認登陸頁
 輸入錯誤的用戶名和密碼,則會顯示
輸入正確的用戶名和密碼則會跳轉到admin.html頁面,說明簡單的權限控制已經完成
相關文章
相關標籤/搜索