在项目中集成SpringSecurity安全框架做拦截登录的用法

在项目中集成SpringSecurity安全框架做拦截的用法

1.加入SpringSecurity的依赖:

	 </dependencies>
        <!--安全框架开始-->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>5.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>5.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
            <version>5.0.1.RELEASE</version>
        </dependency>
        <!--安全框架结束-->
     </dependencies>

2.配置security.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:security="http://www.springframework.org/schema/security"
       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
">

    <!--配置不拦截资源,对登录、失败和静态资源放行-->
    <security:http pattern="/login.jsp" security="none"/>
    <security:http pattern="/error.jsp" security="none"/>
    <security:http pattern="/css/**" security="none"/>
    <security:http pattern="/img/**" security="none"/>
    <security:http pattern="/plugins/**" security="none"/>
    <!--配置拦截的规则-->
    <security:http auto-config="true" use-expressions="false">
        <!-- 配置拦截的请求地址 -->
        <security:intercept-url pattern="/**" access="ROLE_USER"/>

        <!--指定安全框架的使用页面-->
        <!--
            login-page:指定登录页面
            login-processing-url:登录请求路径-登录时必须使用该路径
            default-target-url:登录成功后进入页面
            authentication-failure-forward-url:认证失败后要进入的页面
        -->
        <security:form-login
                login-page="/login.jsp"
                login-processing-url="/login"
                authentication-failure-url="/login.jsp"
                default-target-url="/index.jsp"
        />
<!--        <security:form-login login-page="/login.jsp"
                             login-processing-url="/login"
                             default-target-url="/success.jsp"
                             authentication-failure-url="/error.jsp"
        />-->


        <!--关闭跨域请求-->
        <security:csrf disabled="true"></security:csrf>

        <!-- 退出 -->
        <security:logout invalidate-session="true" logout-url="/logout" logout-success-url="/login.jsp"/>

    </security:http>

    <!-- 认证信息 -->
    <security:authentication-manager>
        <security:authentication-provider>
            <security:user-service>
                <!--用户信息:是临时的账号和密码-->
                <!--{noop}:不加密-->
                <security:user name="123" password="{noop}123" authorities="ROLE_USER"/>
            </security:user-service>
        </security:authentication-provider>
    </security:authentication-manager>
</beans>

3.配置web.xml:

  <!--配置代理过滤器: filter-name必须是springSecurityFilterChain -->
  <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>

4.修改login.jsp:

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值