SpringSecurity OAuth2.0-第3章: spring mvc集成spring security

本文详细介绍了Spring Security在Spring Boot项目中的整合步骤和配置,包括设置默认登录页面、配置安全拦截规则、用户认证授权等功能。通过示例展示了如何创建用户、密码编码器以及安全拦截机制,并解释了Spring Security的授权配置,强调了授权规则的设置和测试过程。

目录

一 spring security介绍

1.1 概述

1.2 这里注意事项*

1.3 websecurityconfigure配置文件重要性

二 案例

2.1 springmvc基础配置

2.2 具体实操

2.2.1 工程结构

2.2.2 添加pom依赖

2.2.3 spring容器配置applicationConfig文件

2.2.4 spring容器配置Servlet Context配置文件

2.2.5 初始化spring容器

2.3 spring security认证配置(里面具有拦截器功能)

2.3.1 *安全配置WebSecurityConfig配置文件***

2.3.1.1 webSecurityConfig的作用(具有拦截器的作用)

2.3.1.2 webSecurityConfig的代码实现

2.2.1.3 加载WebSecurityConfifig

 2.3.2   ****Spring Security初始化***

 2.3.3  ****springsecurity默认的请求路径***

  2.3.4  ****编写controller***

   2.3.5 ****登录页面***

   2.3.6  ****启动服务测试页面***

 2.4 spring security授权配置

2.4.1 添加资源

 2.4.2 在安全配置类WebSecurityConfig.java中配置授权规则

 2.4.3 进行测试

一 spring security介绍

1.1 概述

spring security是一个封装比较完整安全的认证授权框架是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,在spring boot项目中加入spring security更是十分简单,使用Spring Security 减少了为企业系统安全控制编写大量重复代码的工作

1.2 这里注意事项*

1.在WebConfig.java中添加默认请求根路径,跳转到/login,此urlspring security提供。这里的setViewName("redirect:/login"); 跳转到spring security自带的login.jsp页面,进行登录。

springsecurity提供的login页面:

1.3 websecurityconfigure配置文件重要性

见下文2.3章节部分

二 案例

2.1 springmvc基础配置

Spring Security实现了认证和授权,Spring Security提供了基于账号和密码的认证方式,
通过安全配置即可实现请求拦截,授权功能

2.2 具体实操

2.2.1 工程结构

2.2.2 添加pom依赖

security-springmvc 的基础上增加 spring-security 的依赖:
<!-- spring-security-->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-web</artifactId>
      <version>5.1.4.RELEASE</version>
    </dependency>
   <!-- security-config -->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-config</artifactId>
      <version>5.1.4.RELEASE</version>
    </dependency>

2.2.3 spring容器配置applicationConfig文件


/**
 * @author Administrator
 * @version 1.0
 **/
@Configuration //相当于applicationContext.xml
@ComponentScan(basePackages = "com.ljf.spring.mvc.security"
           //排除@controller注解标注的类,排除我们不希望spring容器加载的类。
            ,excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,value = Controller.class)})
public class ApplicationConfig {
    //在此配置除了Controller的其它bean,比如:数据库链接池、事务管理器、业务bean等。
}

2.2.4 spring容器配置Servlet Context配置文件

package com.ljf.spring.mvc.security.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.stereotype.Controller;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

/**
 * @author Administrator
 * @version 1.0
 **/
@Configuration //就相当于springmvc.xml文件
@EnableWebMvc
@ComponentScan(basePackages = "com.ljf.spring.mvc.security"
        ,includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,value = Controller.class)})
public class WebConfig implements WebMvcConfigurer {

    //视频解析器
    @Bean
    public InternalResourceViewResolver viewResolver(){
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/view/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }
    //
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值