Spring Boot configura Spring Security para implementar interceptação de acesso simples

1 Spring Security

Spring Security, que é uma estrutura de segurança baseada em filtros Spring AOP e Servlet. Ele fornece uma solução de segurança abrangente e lida com a verificação de identidade e autorização no nível de solicitação da Web e nível de chamada de método.

Seu design é baseado em uma ampla gama de dependências dentro da estrutura e pode ser dividido nas seguintes seções.

(1) Segurança Web / Http: Esta é a parte mais complicada. O mecanismo de autenticação da estrutura é realizado estabelecendo filtros e beans de serviço relacionados. Ao acessar um URL protegido, o usuário será apresentado à interface de login ou a uma interface de prompt de erro.

(2) Segurança de objetos de negócios ou métodos: para controlar os direitos de acesso ao método.

(3) AuthenticationManager: Processar solicitações de autenticação de outras partes da estrutura.

(4) AccessDecisionManager: Fornece decisão de acesso para Web ou segurança de método. Um padrão será registrado, mas também podemos usar um AccessDecisionManager personalizado por meio do registro de bean comum.

(5) AuthenticationProvider: AuthenticationManager autentica usuários por meio dele.

(6) UserDetailsService: está intimamente relacionado ao AuthenticationProvider e é usado para obter informações do usuário.

2 Adicionar dependência Maven

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- Spring Security-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
		</dependency>

3 SecurityConfig

Execute a interceptação de solicitação.

package com.config;

import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity
                // 过滤请求
                .authorizeRequests()
                //允许匿名访问
                .antMatchers("/test/help").anonymous()
                // 除上面外的所有请求全部需要鉴权认证
                .anyRequest().authenticated();
    }
}

4 Criar URL de solicitação

TestController.java :

package com.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/test")
public class TestController {
    @GetMapping("/help")
    public String help(){
        return "hello,Help!";
    }
    @GetMapping("/login")
    public String login(){
        return "hello,login!";
    }
}

5 resultados de depuração

O URL que pode ser solicitado exibirá diretamente o resultado.

Para URLs que não podem ser solicitados, 403 será exibido, o que significa que eles não têm permissão para acessar.

Acho que você gosta

Origin blog.csdn.net/qq_38974638/article/details/114294423
Recomendado
Clasificación