zoukankan      html  css  js  c++  java
  • Spring boot security rest basic Authentication example

    1. Maven dependency

    pom.xml

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
        <relativePath />
    </parent>
     
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
    </dependencies>
    
     
    

     2. Configure WebSecurityConfigurerAdapter

    SecurityConfig.java

    package com.howtodoinjava.rest.config;
     
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
    import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
     
    @Configuration
    public class SecurityConfig extends WebSecurityConfigurerAdapter
    {
        @Override
        protected void configure(HttpSecurity http) throws Exception
        {
            http
             .csrf().disable()
             .authorizeRequests().anyRequest().authenticated()
             .and()
             .httpBasic();
        }
      
        @Autowired
        public void configureGlobal(AuthenticationManagerBuilder auth)
                throws Exception
        {
            auth.inMemoryAuthentication()
                .withUser("admin")
                .password("{noop}password")
                .roles("USER");
        }
    }
    

     3. Spring boot security rest basic authentication demo

    3.1. REST API

    EmployeeController.java

    @RestController
    @RequestMapping(path = "/employees")
    public class EmployeeController
    {
        @Autowired
        private EmployeeDAO employeeDao;
         
        @GetMapping(path="/", produces = "application/json")
        public Employees getEmployees()
        {
            return employeeDao.getAllEmployees();
        }
    }
    

     3.2. Access rest api without ‘authorization’ header

    get http://localhost:8080/employees/

    3.3. Access rest api with ‘authorization’ header

    HTTP GET http://localhost:8080/employees/  with header

  • 相关阅读:
    count(1)、count(*)与count(列名)的执行区别
    解析Json字符串中的指定的值
    消息队列的好处与弊端
    17 ~ express ~ 分类的显示 ,修改 和 删除
    Express ~ 获取表单 get 和 post 提交方式传送参数的对比
    16 ~ express ~ 添加博客分类
    JS ~ Promise 对象
    JS ~ Promise.reject()
    JS ~ 返回上一步
    PHP ~ 通过程序删除图片,同时删除数据库中的图片数据 和 图片文件
  • 原文地址:https://www.cnblogs.com/chenqr/p/11144911.html
Copyright © 2011-2022 走看看