Angular6 - SpringBoot 基本身份验证
创始人
2024-10-22 10:00:44
0

要实现Angular6和Spring Boot的基本身份验证,可以按照以下步骤进行:

  1. 创建一个Spring Boot项目,添加Spring Security依赖项。

    
        org.springframework.boot
        spring-boot-starter-security
    
    
  2. 创建一个Spring Security配置类来配置身份验证规则和权限。

    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http
                .authorizeRequests()
                    .antMatchers("/api/public").permitAll()
                    .anyRequest().authenticated()
                    .and()
                .httpBasic();
        }
    
        @Override
        protected void configure(AuthenticationManagerBuilder auth) throws Exception {
            auth
                .inMemoryAuthentication()
                    .withUser("user").password("{noop}password").roles("USER");
        }
    }
    
  3. 创建一个RESTful控制器来处理请求。

    @RestController
    public class ApiController {
    
        @GetMapping("/api/public")
        public String publicApi() {
            return "This is a public API.";
        }
    
        @GetMapping("/api/private")
        public String privateApi() {
            return "This is a private API.";
        }
    }
    
  4. 创建一个Angular6项目,使用HttpClient模块来发送HTTP请求。

    import { Injectable } from '@angular/core';
    import { HttpClient } from '@angular/common/http';
    
    @Injectable({
        providedIn: 'root'
    })
    export class ApiService {
    
        constructor(private http: HttpClient) { }
    
        getPublicApi() {
            return this.http.get('/api/public');
        }
    
        getPrivateApi() {
            return this.http.get('/api/private');
        }
    }
    
  5. 在Angular6组件中使用ApiService来调用API。在需要进行身份验证的API请求中,添加Basic Authentication头部。

    import { Component } from '@angular/core';
    import { ApiService } from './api.service';
    
    @Component({
        selector: 'app-root',
        template: `
            
            
        `
    })
    export class AppComponent {
    
        constructor(private apiService: ApiService) { }
    
        getPublicApi() {
            this.apiService.getPublicApi().subscribe(response => {
                console.log(response);
            });
        }
    
        getPrivateApi() {
            this.apiService.getPrivateApi().subscribe(response => {
                console.log(response);
            });
        }
    }
    

这样,当调用私有API时,会自动弹出一个身份验证对话框来进行身份验证。输入正确的用户名和密码后,就可以访问私有API了。公共API可以直接访问,不需要身份验证。

相关内容

热门资讯

科普攻略!德普之星辅助器app... 科普攻略!德普之星辅助器app,we poker辅助器,德州论坛(有挂软件)是一款可以让一直输的玩家...
重大科普!佛手在线大菠萝智能辅... 重大科普!佛手在线大菠萝智能辅助器,wepoker作弊辅助,分享教程(有挂软件);原来确实真的有挂(...
一分钟教会你!wepoker怎... 一分钟教会你!wepoker怎么增加运气,epoker透视,切实教程(有挂透视)1、点击下载安装,微...
六分钟了解!hhpoker有辅... 六分钟了解!hhpoker有辅助吗,wepoker国外版透视,扑克教程(有挂技巧)科技教程也叫必备教...
我来教大家!wepoker辅助... 我来教大家!wepoker辅助透视,wepoker免费脚本弱密码,详细教程(有挂透明);wepoke...
记者发布!wpk辅助,德普之星... 记者发布!wpk辅助,德普之星透视辅助软件激活码,解密教程(有挂辅助);亲真的是有正版授权,小编(透...
揭秘攻略!aapoker万能辅... 《揭秘攻略!aapoker万能辅助器,hhpoker真的假的,揭秘教程(有挂教程)》 aapoker...
重大通报!sohoo poke... 自定义sohoo poker辅助器系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用...
三分钟了解!wpk辅助器,hh... 1、三分钟了解!wpk辅助器,hhpoker免费辅助器,必赢教程(有挂神器);详细教程。2、hhpo...
玩家必看攻略!wejoker私... 玩家必看攻略!wejoker私人辅助软件,智星德州可以透视吗,透明挂教程(有挂技巧)关于智星德州可以...