安全框架(一)Spring Security 简介

安全框架:

Spring Security+Shiro+OAuth2在一个项目里面
github地址:
https://github.com/ZiCheng-Web/springboot-security

在 Java 开发领域常见安全框架有 Shiro 和Spring Security。
Shiro 是个一个轻量级的安全管理框架,提供了认证、授权、
会话管理、密码管理、缓存管理等功能,。
Spring Security 个相对复杂的安全管理框架,功能比Shiro 更加强大,权限控制细粒度更高,对 OAuth 支持 更友好,又因为 Spring Security 源自
Spring 家族,因此可以和 Spring 架无缝整合,特别是 Spring Boot 中提供的自动化配 方案,可以让 Spring Security 的使用更加便捷。


Spring Security 有两个重要的概念。
分别是 Authentication (认证) 和 Authorization(授权)。
认证:即确认用户是否登录,并对用户进行管控。
授权:即确定用户所拥有的功能权限,并对用户权限进行管控。


创建Springboot+SpringSecurity的项目
pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.zicheng</groupId>
    <artifactId>springsecurity01</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springsecurity01</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!--导入SpringSecurity依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <!--导入web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.zicheng.SpringSecurity01Application</mainClass>
                </configuration>
            </plugin>

        </plugins>
    </build>
</project>

配置启动类

@SpringBootApplication
public class SpringSecurity01Application {
    public static void main(String[] args) {
        SpringApplication.run(SpringSecurity01Application.class);
    }
}

写一个HelloController简单测试一下

@RestController
public class HelloController {
        //简单测试一下
        @GetMapping("/ hello")
        public String hello(){
            return "hello";
        }
}

启动项目,访问http://127.0.0.1:8080/
在这里插入图片描述
默认账号为user,密码在日志控制台可以找到。在这里插入图片描述
application.yml配置用户名密码
用户名:admin
密码:123456
角色:admin

spring:
  security:
    user:
      name: admin
      password: 123456
      roles: admin

启动项目,登陆使用的就是配置的用户名和密码,即admin和123456.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值