• 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

  • 相关阅读:
    Textarea自适应文字内容调整高度
    把页面某内容放入粘贴板中
    通过javamail发送电子邮件
    Jrebel+tomcat实现热部署
    Eclipse启动Tomcat时,45秒超时解决方式
    mybatis 多对多 处理
    单例模式
    Centos6安装mysql5.7
    maven手动导入jar包到本地仓库
    Jsp与servlet本质上的区别
  • 原文地址:https://www.cnblogs.com/chenqr/p/11144911.html
Copyright © 2020-2023  润新知