zoukankan      html  css  js  c++  java
  • Spring Security 采用httpBasic模式认证

    Spring Security 学习

    1. 初识Spring Security

    Spring Security 是Spring提供的一套安全机制框架,对用户访问资源做登录认证。

    2. 搭建简单Spring Security

    创建一个基于SpringBoot框架的Web项目。

    2.1 引入Maven SpringSecurity相关依赖

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-security</artifactId>
    </dependency>
    

    2.2 自定义Security Config配置类

    @Configuration
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            // 配置所有请求必须登录之后才可以访问
            /*
            	此处采用httpBasic认证模式
            */
            http.httpBasic()
                    .and()
                    .authorizeRequests()
                    .anyRequest().authenticated();
        }
    }
    

    2.3 创建用户查询接口Controller

    /**
     * 用户相关
     */
    @RestController
    @RequestMapping("/user")
    public class UserController {
    
        /**
         * 查询当前用户信息
         */
        @GetMapping("/getUserList")
        public Map<String, Object> getUserList() {
            return new HashMap<String, Object>(){{
                put("username", "张三");
                put("sex", "男");
                put("age", "20");
            }};
        }
    
        /**
         * 用户登录
         */
        @GetMapping("/login")
        public Map<String, Object> login() {
            return new HashMap<String, Object>(){{
                put("code", 200);
                put("msg", "登录成功");
            }};
        }
    }
    

    2.4 启动服务浏览器访问下面地址

    http://localhost:8080/user/getUserList

    这个时候会发现弹出一个身份认证的弹出框,当不配置用户名和密码时,Spring Security 会默认提供

    • 用户名为: user

    • 密码为Console打印的一串字符串

    • 当登录成功后即可访问查询用户信息的接口

    2.5 配置自定义用户名及密码

    在application.yml中配置用户名及密码

    server:
      port: 8080
    spring:
      security:
        user:
          name: zhangsan
          password: zhangsan123
    
  • 相关阅读:
    2.由浅入深解析 SimpleDateFormat
    7.如何在Maven项目中引入自己的jar包
    6.Java英文缩写详解
    6.JXL操作Excel
    5.Apache POI使用详解
    4.Properties文件的加载和使用
    3.java.util.logging.Logger使用详解
    2.使用dom4j解析XML文件
    jdk、jre、spring、java ee、java se
    JVM架构
  • 原文地址:https://www.cnblogs.com/xyqbk/p/13581666.html
Copyright © 2011-2022 走看看