• 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
    
  • 相关阅读:
    【poj3017】 Cut the Sequence
    【vijos1243】 生产产品
    【bzoj3624】Apio2008—免费道路
    【bzoj1912】 Apio2010—patrol 巡逻
    【bzoj2006】 NOI2010—超级钢琴
    【bzoj1178】 Apio2009—CONVENTION会议中心
    【bzoj1503】 NOI2004—郁闷的出纳员
    【bzoj1499】 NOI2005—瑰丽华尔兹
    【poj2823】 Sliding Window
    【poj3264】 Balanced Lineup
  • 原文地址:https://www.cnblogs.com/xyqbk/p/13581666.html
Copyright © 2020-2023  润新知