java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot Spring Security内存用户认证

SpringBoot+Spring Security基于内存用户认证的实现

作者:忧伤夏天的风

本文介绍了SpringBoot+Spring Security基于内存用户认证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、Spring Security框架

1. 框架简介

官方介绍:Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实标准。 Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松扩展以满足自定义要求。

Spring Security是一个为基于Spring的企业应用系统提供声明式的安全访问控制解决方式的安全框架(简单说是对访问权限进行控制),应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。Spring Security的主要核心功能为 认证和授权,所有的架构也是基于这两个核心功能去实现的。

特征:

2. 框架原理

想要对对Web资源进行保护,最好的办法莫过于Filter,要想对方法调用进行保护,最好的办法莫过于AOP。所以Spring Security在我们进行用户认证以及授予权限的时候,通过各种各样的拦截器来控制权限的访问,从而实现安全。

Spring Security 框架的主要过滤器(Filter) : 

  Spring Security框架的核心组件:

二、SpringBoot 整合Spring Security

1. 项目环境

(1)JDK版本:1.8

(2)Spring Boot:2.1.2.RELEASE

(3)Spring Security 5.1.3

(4)IntelliJ IDEA 2016.3.4

2. 添加依赖并配置

在pom.xml文件中添加Spring Security的依赖:

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

在application.yml中配置Spring Security的用户名密码:

server:
  port: 8082

# spring security
spring:
    security:
        user:
          name: ouyang
          password: 123456

3. 编写Controller

package com.oycbest.controller;

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

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @Author: oyc
 * @Date: 2019/1/29 10:49
 * @Description: Hello 测试控制类
 */
@RestController
public class HelloController {
    @GetMapping("hello")
    public String hello(HttpServletRequest request, HttpServletResponse response) throws Exception {
        return "hello";
    }
}

三、测试效果

到此这篇关于SpringBoot+Spring Security基于内存用户认证的实现的文章就介绍到这了,更多相关SpringBoot Spring Security内存用户认证内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文