最新资讯

  • Spring Security OAuth2实战:从授权服务器到微服务网关的完整解决方案

Spring Security OAuth2实战:从授权服务器到微服务网关的完整解决方案

2026-02-05 11:40:34 栏目:最新资讯 37 阅读

一、Spring Authorization Server概述

1.1 什么是Spring Authorization Server

Spring Authorization Server是Spring官方推出的新一代认证授权框架,提供了OAuth 2.1和OpenID Connect 1.0规范的完整实现。它建立在Spring Security之上,为构建身份提供者和授权服务器提供了安全、轻量级且可定制的基础。

核心特性

  • 完全支持OAuth 2.1和OpenID Connect 1.0

  • 模块化设计,易于扩展和定制

  • 内置多种授权模式支持

  • 与Spring生态系统无缝集成

官方资源

  • 官网:https://spring.io/projects/spring-authorization-server

  • 版本要求:

    • Spring Authorization Server: 1.1.2+

    • JDK: 17+

    • Spring Boot: 3.1.4+

1.2 为什么需要Spring Authorization Server

随着网络和设备的发展,原有的OAuth 2.0协议已无法满足现代应用的安全需求。OAuth社区推出了OAuth 2.1协议,对原有授权模式进行了优化和调整:

  • 移除了密码模式(password)和简化模式(implicit)

  • 增加了设备授权码模式

  • 为授权码模式增加了PKCE扩展

Spring Security团队因此重新开发了Spring Authorization Server,以替代原有的Spring Security OAuth 2.0项目。

二、OAuth 2.0协议详解

2.1 OAuth 2.0核心概念

四个关键角色

  1. 客户端(Client):第三方应用,请求访问用户资源

  2. 资源服务器(Resource Server):存储受保护资源的服务器

  3. 资源所有者(Resource Owner):拥有资源的用户

  4. 授权服务器(Authorization Server):验证用户身份并颁发令牌

2.2 OAuth 2.0工作流程

令牌(Token)与密码(Password)的区别

  • 令牌是短期的,到期自动失效

  • 令牌可以被资源所有者随时撤销

  • 令牌有权限范围(scope),密码拥有完整权限

2.3 OAuth 2.0应用场景

  1. 社交媒体登录:使用微信、QQ等第三方账号登录

  2. 第三方应用集成:应用间数据共享和API调用

  3. 移动应用访问API:移动端应用访问后端服务

  4. 云服务授权:访问Google Drive、Dropbox等云存储

  5. IoT设备访问:物联网设备安全访问云服务

2.4 OAuth 2.0授权模式

2.4.1 客户端模式(Client Credentials Grant)

text

适用于:服务端应用间的通信
流程:客户端直接使用client_id和client_secret获取令牌

请求示例

text

POST /oauth2/token
grant_type=client_credentials
&client_id=CLIENT_ID
&client_secret=CLIENT_SECRET
2.4.2 密码模式(Resource Owner Password Credentials Grant)

text

适用于:高度信任的内部应用
流程:用户提供用户名密码,客户端代理获取令牌
注意:OAuth 2.1中已移除此模式

请求示例

text

POST /oauth2/token
grant_type=password
&username=USERNAME
&password=PASSWORD
&client_id=CLIENT_ID
&client_secret=CLIENT_SECRET
2.4.3 授权码模式(Authorization Code Grant)

text

适用于:Web应用、移动应用
流程:通过授权码中间步骤,安全性最高

流程步骤

  1. 客户端引导用户到授权服务器

  2. 用户登录并授权

  3. 授权服务器返回授权码

  4. 客户端使用授权码交换令牌

请求示例

text

# 1. 获取授权码
GET /oauth2/authorize?
response_type=code
&client_id=CLIENT_ID
&redirect_uri=CALLBACK_URL
&scope=read

# 2. 使用授权码获取令牌
POST /oauth2/token
grant_type=authorization_code
&code=AUTHORIZATION_CODE
&client_id=CLIENT_ID
&client_secret=CLIENT_SECRET
&redirect_uri=CALLBACK_URL
2.4.4 简化模式(Implicit Grant)

text

适用于:单页应用(SPA)
流程:直接返回令牌,跳过授权码步骤
注意:OAuth 2.1中已移除此模式
2.4.5 刷新令牌模式(Refresh Token Grant)

text

适用于:令牌续期
流程:使用refresh_token获取新的access_token

请求示例

text

POST /oauth2/token
grant_type=refresh_token
&client_id=CLIENT_ID
&client_secret=CLIENT_SECRET
&refresh_token=REFRESH_TOKEN

三、OAuth 2.1协议新特性

3.1 授权码模式+PKCE扩展

PKCE(Proof Key for Code Exchange)用于防止授权码被拦截攻击:

工作流程

  1. 客户端生成code_verifier和code_challenge

  2. 授权请求时发送code_challenge

  3. 交换令牌时发送code_verifier

  4. 服务器验证两者匹配关系

3.2 设备授权码模式

适用于智能电视、打印机等输入受限设备:

工作流程

  1. 设备请求设备码和用户码

  2. 用户在另一设备访问验证页面输入用户码

  3. 设备轮询获取令牌

3.3 拓展授权模式

虽然OAuth 2.1移除了密码模式,但可通过拓展授权模式实现类似功能。

四、OpenID Connect 1.0协议

OpenID Connect是建立在OAuth 2.0之上的身份层,主要增加了id_token:

核心特性

  • 基于JWT格式的id_token

  • 用户信息端点(UserInfo Endpoint)

  • 标准化声明(Claims)

id_token示例

json

{
  "iss": "https://server.example.com",
  "sub": "24400320",
  "aud": "s6BhdRkqt3",
  "exp": 1311281970,
  "iat": 1311280970,
  "auth_time": 1311280969,
  "nonce": "n-0S6_WzA2Mj"
}

五、Spring Authorization Server实战

5.1 授权服务器搭建

5.1.1 项目依赖

xml


    org.springframework.boot
    spring-boot-starter-oauth2-authorization-server
5.1.2 核心配置类

java

@Configuration
@EnableWebSecurity
public class SecurityConfig {
    
    // 授权服务器安全过滤器链
    @Bean
    @Order(1)
    public SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity http) 
            throws Exception {
        OAuth2AuthorizationServerConfiguration.applyDefaultSecurity(http);
        http
            .getConfigurer(OAuth2AuthorizationServerConfigurer.class)
            .oidc(Customizer.withDefaults()); // 开启OpenID Connect
        return http.build();
    }
    
    // 默认安全过滤器链
    @Bean
    @Order(2)
    public SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) 
            throws Exception {
        http
            .authorizeHttpRequests(authorize -> authorize
                .anyRequest().authenticated()
            )
            .formLogin(Customizer.withDefaults());
        return http.build();
    }
    
    // 用户信息服务
    @Bean
    public UserDetailsService userDetailsService() {
        UserDetails userDetails = User.withDefaultPasswordEncoder()
            .username("fox")
            .password("123456")
            .roles("USER")
            .build();
        return new InMemoryUserDetailsManager(userDetails);
    }
    
    // 客户端注册信息
    @Bean
    public RegisteredClientRepository registeredClientRepository() {
        RegisteredClient oidcClient = RegisteredClient.withId(UUID.randomUUID().toString())
            .clientId("oidc-client")
            .clientSecret("{noop}secret")
            .clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC)
            .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
            .authorizationGrantType(AuthorizationGrantType.REFRESH_TOKEN)
            .authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS)
            .redirectUri("http://www.baidu.com")
            .scope(OidcScopes.OPENID)
            .scope(OidcScopes.PROFILE)
            .clientSettings(ClientSettings.builder()
                .requireAuthorizationConsent(true)
                .build())
            .build();
        
        return new InMemoryRegisteredClientRepository(oidcClient);
    }
    
    // JWT密钥配置
    @Bean
    public JWKSource jwkSource() {
        KeyPair keyPair = generateRsaKey();
        RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
        RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
        
        RSAKey rsaKey = new RSAKey.Builder(publicKey)
            .privateKey(privateKey)
            .keyID(UUID.randomUUID().toString())
            .build();
        
        JWKSet jwkSet = new JWKSet(rsaKey);
        return new ImmutableJWKSet<>(jwkSet);
    }
    
    // 生成RSA密钥对
    private static KeyPair generateRsaKey() {
        KeyPair keyPair;
        try {
            KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
            keyPairGenerator.initialize(2048);
            keyPair = keyPairGenerator.generateKeyPair();
        } catch (Exception ex) {
            throw new IllegalArgumentException(ex);
        }
        return keyPair;
    }
}
5.1.3 测试端点

获取授权服务器配置信息

text

GET http://127.0.0.1:9000/.well-known/openid-configuration

授权码模式测试

  1. 获取授权码:

text

GET http://localhost:9000/oauth2/authorize?
response_type=code
&client_id=oidc-client
&scope=profile openid
&redirect_uri=http://www.baidu.com
  1. 使用授权码获取令牌:

bash

curl -X POST http://localhost:9000/oauth2/token 
  -H "Content-Type: application/x-www-form-urlencoded" 
  -u "oidc-client:secret" 
  -d "grant_type=authorization_code" 
  -d "code={授权码}" 
  -d "redirect_uri=http://www.baidu.com"

5.2 OAuth2客户端搭建

5.2.1 项目依赖

xml


    org.springframework.boot
    spring-boot-starter-oauth2-client


    org.springframework.boot
    spring-boot-starter-web
5.2.2 配置文件

yaml

server:
  port: 9001

spring:
  application:
    name: spring-oauth-client
  
  security:
    oauth2:
      client:
        provider:
          oauth-server:
            issuer-uri: http://spring-oauth-server:9000
            authorization-uri: http://spring-oauth-server:9000/oauth2/authorize
            token-uri: http://spring-oauth-server:9000/oauth2/token
        
        registration:
          messaging-client-oidc:
            provider: oauth-server
            client-name: web平台
            client-id: web-client-id
            client-secret: secret
            client-authentication-method: client_secret_basic
            authorization-grant-type: authorization_code
            redirect-uri: http://spring-oauth-client:9001/login/oauth2/code/messaging-client-oidc
            scope:
              - profile
              - openid

注意:需要在hosts文件中添加域名映射:

text

127.0.0.1 spring-oauth-client spring-oauth-server
5.2.3 客户端控制器

java

@RestController
public class AuthenticationController {
    
    @GetMapping("/token")
    @ResponseBody
    public OAuth2AuthorizedClient token(
            @RegisteredOAuth2AuthorizedClient OAuth2AuthorizedClient oAuth2AuthorizedClient) {
        return oAuth2AuthorizedClient;
    }
}

5.3 资源服务器搭建

5.3.1 项目依赖

xml


    org.springframework.boot
    spring-boot-starter-oauth2-resource-server


    org.springframework.boot
    spring-boot-starter-web
5.3.2 配置文件

yaml

server:
  port: 9002

spring:
  application:
    name: spring-oauth-resource
  
  security:
    oauth2:
      resource-server:
        jwt:
          issuer-uri: http://spring-oauth-server:9000
5.3.3 安全配置

java

@Configuration
@EnableWebSecurity
@EnableMethodSecurity(jsr250Enabled = true, securedEnabled = true)
public class ResourceServerConfig {
    
    @Bean
    SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http
            .authorizeHttpRequests(authorize -> authorize
                .anyRequest().authenticated()
            )
            .oauth2ResourceServer(oauth2 -> oauth2
                .jwt(Customizer.withDefaults())
            );
        
        return http.build();
    }
}
5.3.4 资源接口

java

@RestController
public class MessagesController {
    
    @GetMapping("/messages1")
    public String getMessages1() {
        return "hello Message 1";
    }
    
    @GetMapping("/messages2")
    @PreAuthorize("hasAuthority('SCOPE_profile')")
    public String getMessages2() {
        return "hello Message 2";
    }
    
    @GetMapping("/messages3")
    @PreAuthorize("hasAuthority('SCOPE_Message')")
    public String getMessages3() {
        return "hello Message 3";
    }
}
5.3.5 自定义异常处理

java

// 认证异常处理
@Component
public class MyAuthenticationEntryPoint implements AuthenticationEntryPoint {
    
    @Override
    public void commence(HttpServletRequest request, HttpServletResponse response,
                         AuthenticationException authException) throws IOException {
        
        if (authException instanceof InvalidBearerTokenException) {
            ResponseResult.exceptionResponse(response, "令牌无效或已过期");
        } else {
            ResponseResult.exceptionResponse(response, "需要带上令牌进行访问");
        }
    }
}

// 授权异常处理
@Component
public class MyAccessDeniedHandler implements AccessDeniedHandler {
    
    @Override
    public void handle(HttpServletRequest request, HttpServletResponse response,
                       AccessDeniedException accessDeniedException) throws IOException {
        ResponseResult.exceptionResponse(response, "权限不足");
    }
}

配置异常处理器

java

http.oauth2ResourceServer(resourceServer -> resourceServer
    .jwt(Customizer.withDefaults())
    .authenticationEntryPoint(new MyAuthenticationEntryPoint())
    .accessDeniedHandler(new MyAccessDeniedHandler())
);

六、基于数据库存储改造

6.1 数据库表结构

6.1.1 客户端信息表

sql

CREATE TABLE oauth2_registered_client (
    id VARCHAR(100) NOT NULL,
    client_id VARCHAR(100) NOT NULL,
    client_id_issued_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
    client_secret VARCHAR(200) DEFAULT NULL,
    client_secret_expires_at TIMESTAMP DEFAULT NULL,
    client_name VARCHAR(200) NOT NULL,
    client_authentication_methods VARCHAR(1000) NOT NULL,
    authorization_grant_types VARCHAR(1000) NOT NULL,
    redirect_uris VARCHAR(1000) DEFAULT NULL,
    post_logout_redirect_uris VARCHAR(1000) DEFAULT NULL,
    scopes VARCHAR(1000) NOT NULL,
    client_settings VARCHAR(2000) NOT NULL,
    token_settings VARCHAR(2000) NOT NULL,
    PRIMARY KEY (id)
);
6.1.2 授权确认表

sql

CREATE TABLE oauth2_authorization_consent (
    registered_client_id VARCHAR(100) NOT NULL,
    principal_name VARCHAR(200) NOT NULL,
    authorities VARCHAR(1000) NOT NULL,
    PRIMARY KEY (registered_client_id, principal_name)
);
6.1.3 授权信息表

sql

CREATE TABLE oauth2_authorization (
    id VARCHAR(100) NOT NULL,
    registered_client_id VARCHAR(100) NOT NULL,
    principal_name VARCHAR(200) NOT NULL,
    authorization_grant_type VARCHAR(100) NOT NULL,
    authorized_scopes VARCHAR(1000) DEFAULT NULL,
    attributes BLOB DEFAULT NULL,
    state VARCHAR(500) DEFAULT NULL,
    authorization_code_value BLOB DEFAULT NULL,
    authorization_code_issued_at TIMESTAMP DEFAULT NULL,
    authorization_code_expires_at TIMESTAMP DEFAULT NULL,
    authorization_code_metadata BLOB DEFAULT NULL,
    access_token_value BLOB DEFAULT NULL,
    access_token_issued_at TIMESTAMP DEFAULT NULL,
    access_token_expires_at TIMESTAMP DEFAULT NULL,
    access_token_metadata BLOB DEFAULT NULL,
    access_token_type VARCHAR(100) DEFAULT NULL,
    access_token_scopes VARCHAR(1000) DEFAULT NULL,
    oidc_id_token_value BLOB DEFAULT NULL,
    oidc_id_token_issued_at TIMESTAMP DEFAULT NULL,
    oidc_id_token_expires_at TIMESTAMP DEFAULT NULL,
    oidc_id_token_metadata BLOB DEFAULT NULL,
    refresh_token_value BLOB DEFAULT NULL,
    refresh_token_issued_at TIMESTAMP DEFAULT NULL,
    refresh_token_expires_at TIMESTAMP DEFAULT NULL,
    refresh_token_metadata BLOB DEFAULT NULL,
    user_code_value BLOB DEFAULT NULL,
    user_code_issued_at TIMESTAMP DEFAULT NULL,
    user_code_expires_at TIMESTAMP DEFAULT NULL,
    user_code_metadata BLOB DEFAULT NULL,
    device_code_value BLOB DEFAULT NULL,
    device_code_issued_at TIMESTAMP DEFAULT NULL,
    device_code_expires_at TIMESTAMP DEFAULT NULL,
    device_code_metadata BLOB DEFAULT NULL,
    PRIMARY KEY (id)
);
6.1.4 用户表

sql

CREATE TABLE sys_user (
    id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'id',
    username VARCHAR(20) NOT NULL DEFAULT '' COMMENT '用户名',
    password VARCHAR(255) NOT NULL DEFAULT '' COMMENT '密码',
    name VARCHAR(50) DEFAULT NULL COMMENT '姓名',
    description VARCHAR(255) DEFAULT NULL COMMENT '描述',
    status TINYINT DEFAULT NULL COMMENT '状态(1:正常 0:停用)',
    PRIMARY KEY (id),
    UNIQUE KEY idx_username (username)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

6.2 数据库配置

6.2.1 配置文件

yaml

spring:
  application:
    name: spring-oauth-server
  
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/oauth-server?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    username: root
    password: root
6.2.2 数据库服务配置

java

@Configuration
public class DatabaseConfig {
    
    // 客户端信息存储
    @Bean
    public RegisteredClientRepository registeredClientRepository(JdbcTemplate jdbcTemplate) {
        return new JdbcRegisteredClientRepository(jdbcTemplate);
    }
    
    // 授权信息存储
    @Bean
    public OAuth2AuthorizationService authorizationService(
            JdbcTemplate jdbcTemplate,
            RegisteredClientRepository registeredClientRepository) {
        return new JdbcOAuth2AuthorizationService(jdbcTemplate, registeredClientRepository);
    }
    
    // 授权确认存储
    @Bean
    public OAuth2AuthorizationConsentService authorizationConsentService(
            JdbcTemplate jdbcTemplate,
            RegisteredClientRepository registeredClientRepository) {
        return new JdbcOAuth2AuthorizationConsentService(jdbcTemplate, registeredClientRepository);
    }
    
    // 密码编码器
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}
6.2.3 自定义用户详情服务

java

@Service
public class UserDetailsServiceImpl implements UserDetailsService {
    
    @Resource
    private SysUserService sysUserService;
    
    @Override
    public UserDetails loadUserByUsername(String username) 
            throws UsernameNotFoundException {
        
        SysUserEntity sysUserEntity = sysUserService.selectByUsername(username);
        
        List authorities = Arrays.asList("USER").stream()
            .map(SimpleGrantedAuthority::new)
            .collect(Collectors.toList());
        
        return new User(
            username,
            sysUserEntity.getPassword(),
            authorities
        );
    }
}

七、单点登录(SSO)实战

7.1 SSO架构设计

text

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│   订单服务   │    │   商品服务   │    │  认证服务器  │
│  (客户端)   │    │  (客户端)   │    │ (授权服务器) │
└──────┬──────┘    └──────┬──────┘    └──────┬──────┘
       │                  │                  │
       └──────────────────┼──────────────────┘
                          │
                    ┌─────┴─────┐
                    │   用户    │
                    │ (浏览器)  │
                    └───────────┘

7.2 订单服务配置

yaml

server:
  ip: spring-oauth-client-order
  port: 9003

spring:
  application:
    name: spring-oauth-client-order
  
  security:
    oauth2:
      client:
        provider:
          oauth-server:
            issuer-uri: http://spring-oauth-server:9000
            authorization-uri: http://spring-oauth-server:9000/oauth2/authorize
            token-uri: http://spring-oauth-server:9000/oauth2/token
        
        registration:
          messaging-client-oidc:
            provider: oauth-server
            client-name: web平台-SSO客户端-订单服务
            client-id: web-client-id-order
            client-secret: secret
            client-authentication-method: client_secret_basic
            authorization-grant-type: authorization_code
            redirect-uri: http://spring-oauth-client-order:9003/login/oauth2/code/messaging-client-oidc
            scope:
              - profile
              - openid

7.3 商品服务配置

yaml

server:
  ip: spring-oauth-client-product
  port: 9004

spring:
  application:
    name: spring-oauth-client-product
  
  security:
    oauth2:
      client:
        provider:
          oauth-server:
            issuer-uri: http://spring-oauth-server:9000
            authorization-uri: http://spring-oauth-server:9000/oauth2/authorize
            token-uri: http://spring-oauth-server:9000/oauth2/token
        
        registration:
          messaging-client-oidc:
            provider: oauth-server
            client-name: web平台-SSO客户端-商品服务
            client-id: web-client-id-product
            client-secret: secret
            client-authentication-method: client_secret_basic
            authorization-grant-type: authorization_code
            redirect-uri: http://spring-oauth-client-product:9004/login/oauth2/code/messaging-client-oidc
            scope:
              - profile
              - openid

7.4 SSO测试流程

  1. 首次访问订单服务:跳转到认证服务器登录

  2. 登录成功后:返回订单服务页面

  3. 跳转到商品服务:无需重新登录,直接访问

  4. 无感授权配置:设置require-authorization-consent=false跳过授权确认

八、微服务网关整合OAuth2

8.1 网关安全架构

text

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│    用户     │───▶│    网关     │───▶│ 认证服务器  │
│  (浏览器)   │    │ (Gateway)   │    │ (OAuth2)    │
└─────────────┘    └──────┬──────┘    └─────────────┘
                          │
                    ┌─────┴─────┐
                    │ 资源服务   │
                    │ (微服务)   │
                    └───────────┘

8.2 网关配置

8.2.1 项目依赖

xml



    org.springframework.boot
    spring-boot-starter-oauth2-client
    3.1.4




    org.springframework.boot
    spring-boot-starter-oauth2-resource-server
    3.1.4
8.2.2 配置文件

yaml

server:
  port: 8888

spring:
  application:
    name: mall-gateway
  
  security:
    oauth2:
      # 资源服务器配置
      resourceserver:
        jwt:
          issuer-uri: http://spring-oauth-server:9000
      
      # 客户端配置
      client:
        provider:
          oauth-server:
            issuer-uri: http://spring-oauth-server:9000
            authorization-uri: http://spring-oauth-server:9000/oauth2/authorize
            token-uri: http://spring-oauth-server:9000/oauth2/token
        
        registration:
          messaging-client-oidc:
            provider: oauth-server
            client-name: 网关服务
            client-id: mall-gateway-id
            client-secret: secret
            client-authentication-method: client_secret_basic
            authorization-grant-type: authorization_code
            redirect-uri: http://mall-gateway:8888/login/oauth2/code/messaging-client-oidc
            scope:
              - profile
              - openid
  
  cloud:
    gateway:
      default-filters:
        # 令牌中继,自动传递token到下游服务
        - TokenRelay=
8.2.3 安全配置

java

@Configuration
@EnableWebFluxSecurity
@EnableReactiveMethodSecurity
public class WebSecurityConfig {
    
    @Bean
    public SecurityWebFilterChain defaultSecurityFilterChain(ServerHttpSecurity http) {
        // 所有请求都需要认证
        http.authorizeExchange(authorize -> authorize
            .anyExchange().authenticated()
        );
        
        // 开启OAuth2登录
        http.oauth2Login(Customizer.withDefaults());
        
        // 配置资源服务器
        http.oauth2ResourceServer(resourceServer -> resourceServer
            .jwt(Customizer.withDefaults())
        );
        
        // 禁用CSRF和CORS
        http.csrf(csrf -> csrf.disable());
        http.cors(cors -> cors.disable());
        
        return http.build();
    }
}

8.3 微服务资源服务器配置

8.3.1 项目依赖

xml


    org.springframework.boot
    spring-boot-starter-oauth2-resource-server
    3.1.4
8.3.2 配置文件

yaml

spring:
  security:
    oauth2:
      resourceserver:
        jwt:
          issuer-uri: http://spring-oauth-server:9000
8.3.3 安全配置

java

@Configuration
@EnableWebSecurity
@EnableMethodSecurity(jsr250Enabled = true, securedEnabled = true)
public class ResourceServerConfig {
    
    @Bean
    SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http
            .authorizeHttpRequests(authorize -> authorize
                .anyRequest().authenticated()
            )
            .oauth2ResourceServer(oauth2 -> oauth2
                .jwt(Customizer.withDefaults())
            );
        
        return http.build();
    }
}
8.3.4 Feign拦截器(令牌传递)

java

@Slf4j
@Component
public class FeignAuthRequestInterceptor implements RequestInterceptor {
    
    @Override
    public void apply(RequestTemplate template) {
        ServletRequestAttributes attributes = 
            (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        
        if (attributes != null) {
            HttpServletRequest request = attributes.getRequest();
            String accessToken = request.getHeader("Authorization");
            log.info("从Request中解析请求头: {}", accessToken);
            
            // 设置token到Feign请求头
            template.header("Authorization", accessToken);
        }
    }
}

8.4 测试流程

  1. 访问网关受保护接口http://mall-gateway:8888/user/findOrderByUserId/1

  2. 网关检测未认证:重定向到认证服务器登录页面

  3. 用户登录授权:输入用户名密码,确认授权

  4. 返回网关页面:携带token,正常访问资源

  5. 网关转发请求:自动传递token到下游微服务

  6. 微服务验证token:验证通过,返回数据

九、总结与最佳实践

9.1 版本选择建议

组件推荐版本说明
Spring Boot3.1.4+支持Spring Authorization Server最新特性
Spring Authorization Server1.1.2+稳定版本,功能完整
JDK17+Spring Boot 3.x要求
MySQL8.0+支持JSON字段,性能更好

9.2 安全建议

  1. 令牌管理

    • Access Token有效期建议设置为30分钟

    • Refresh Token有效期建议设置为7天

    • 使用HTTPS传输令牌

  2. 客户端安全

    • 使用BCrypt加密存储client_secret

    • 定期轮换客户端密钥

    • 限制客户端IP白名单

  3. 权限控制

    • 最小权限原则,按需分配scope

    • 使用@PreAuthorize注解进行方法级权限控制

    • 记录敏感操作日志

9.3 性能优化

  1. 缓存策略

    • 缓存JWK公钥,减少网络请求

    • 使用Redis缓存用户信息

    • 数据库连接池优化

  2. 数据库优化

    • 为oauth2_authorization表添加索引

    • 定期清理过期令牌记录

    • 使用读写分离架构

9.4 监控与告警

  1. 监控指标

    • 认证成功/失败率

    • 令牌发放频率

    • 接口响应时间

  2. 告警规则

    • 异常登录尝试

    • 令牌滥用检测

    • 系统异常率

9.5 扩展功能

  1. 多因素认证:集成短信、邮箱验证码

  2. 社交登录:集成微信、QQ等第三方登录

  3. 设备管理:管理已授权设备,支持一键下线

  4. 审计日志:完整记录认证授权操作日志


十、常见问题解决

10.1 跨域问题

解决方案

java

@Bean
public CorsConfigurationSource corsConfigurationSource() {
    CorsConfiguration configuration = new CorsConfiguration();
    configuration.setAllowedOrigins(Arrays.asList("http://localhost:8080"));
    configuration.setAllowedMethods(Arrays.asList("GET", "POST", "PUT", "DELETE"));
    configuration.setAllowedHeaders(Arrays.asList("Authorization", "Content-Type"));
    
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    source.registerCorsConfiguration("/**", configuration);
    
    return source;
}

10.2 会话管理

配置分布式会话

yaml

spring:
  session:
    store-type: redis
    redis:
      namespace: spring:session

10.3 令牌刷新

自动刷新令牌策略

java

@Component
public class TokenRefreshService {
    
    @Scheduled(fixedDelay = 5 * 60 * 1000) // 每5分钟检查一次
    public void refreshTokens() {
        // 检查即将过期的token并刷新
    }
}

参考资料

  • Spring Authorization Server官方文档

  • OAuth 2.1规范

  • OpenID Connect规范

本文基于Spring Authorization Server 1.1.2和Spring Boot 3.1.4编写,涵盖了从基础概念到生产级部署的全流程。在实际项目中,建议根据具体业务需求和安全要求进行调整和优化。

本文地址:https://www.yitenyun.com/5756.html

搜索文章

Tags

#飞书 #人工智能 #语言模型 #服务器 #大模型 #ai #ai大模型 #agent #python #pip #conda #AI #log4j #ollama #微信 #运维 #私有化部署 #学习 #产品经理 #AI大模型 #大模型学习 #大模型教程 #AI编程 #飞牛nas #fnos #github #信息与通信 #自然语言处理 #rpa #实时互动 #远程工作 #linux #云计算 #云原生 #kylin #docker #arm #ios面试 #ios弱网 #断点续传 #ios开发 #objective-c #ios #ios缓存 #ssh #Trae #IDE #AI 原生集成开发环境 #Trae AI #mongodb #数据库 #算法 #数据结构 #fastapi #html #css #PyTorch #深度学习 #模型训练 #星图GPU #银河麒麟高级服务器操作系统安装 #银河麒麟高级服务器V11配置 #设置基础软件仓库时出错 #银河麒高级服务器系统的实操教程 #生产级部署银河麒麟服务系统教程 #Linux系统的快速上手教程 #ARM服务器 # GLM-4.6V # 多模态推理 #vscode #ubuntu #gitee #kubernetes #笔记 #平面 #容器 #学习方法 香港站群服务器 多IP服务器 香港站群 站群服务器 #分布式 #架构 #配置中心 #SpringCloud #Apollo #大数据 #职场和发展 #程序员创富 #AIGC #开源 #mysql #分库分表 #垂直分库 #水平分表 #雪花算法 #分布式ID #跨库查询 #自动化 #ansible #llama #opencv #神经网络 #科技 #数学建模 #企业微信 #AI办公 #智能助手 #华为云 #部署上线 #动静分离 #Nginx #新人首发 #音视频 #YOLO #java #开发语言 #spring boot #maven #spring #ide #前端 #javascript #notepad++ #pytorch #web安全 #安全 #php #网络安全 #就业指南 #大语言模型 #长文本处理 #GLM-4 #Triton推理 #hadoop #hbase #hive #zookeeper #spark #kafka #flink #流程图 #论文阅读 #信息可视化 #大模型入门 #网络 #tcp/ip #golang #数据结构与算法 #Telegram机器人 #ClawdBot #多模态翻译 #大模型推理 #C++ #Reactor #springboot #低代码 #爬虫 #gemini #gemini国内访问 #gemini api #gemini中转搭建 #Cloudflare #CFD #node.js #rag #langchain #pycharm #区块链 #测试用例 #生活 #阿里云 #http #mcp #mcp server #AI实战 #FRP #MobaXterm #物联网 #websocket #Agent #程序员 #sql #agi #SSM 框架 #孕期健康 #产品服务推荐 #推荐系统 #用户交互 #flutter #鸿蒙 #nginx #机器学习 #windows #进程控制 #项目 #高并发 #java-ee #微服务 #Oauth2 #经验分享 #安卓 #aws #openHiTLS #TLCP #DTLCP #密码学 #商用密码算法 #fabric #postgresql #harmonyos #华为 #重构 #计算机视觉 #堡垒机 #安恒明御堡垒机 #windterm #RAGFlow #DeepSeek-R1 #矩阵 #线性代数 #AI运算 #向量 #FaceFusion # Token调度 # 显存优化 #word #umeditor粘贴word #ueditor粘贴word #ueditor复制word #ueditor上传word图片 #RTP over RTSP #RTP over TCP #RTSP服务器 #RTP #TCP发送RTP #多个客户端访问 #IO多路复用 #回显服务器 #TCP相关API #能源 #Ansible # 自动化部署 # VibeThinker #Linux #TCP #c++ #线程 #线程池 #iventoy #VmWare #OpenEuler #分阶段策略 #模型协议 #开源软件 #风控模型 #决策盲区 #驱动开发 #git #测试工具 #https #网络协议 #android #腾讯云 #c# #centos #Windows 更新 #HCIA-Datacom #H12-811 #题库 #最新题库 #鸿蒙PC #MCP #MCP服务器 #转行 #后端 #ddos #visual studio #RAG #RAG调优 #RAG系统 #召回 #qt #vue上传解决方案 #vue断点续传 #vue分片上传下载 #vue分块上传下载 #FL Studio #FLStudio #FL Studio2025 #FL Studio2026 #FL Studio25 #FL Studio26 #水果软件 #unity #游戏引擎 #mobaxterm #正则 #正则表达式 #mvp #个人开发 #设计模式 #性能优化 #电脑 #stm32 #Conda # 私有索引 # 包管理 #pjsip #ai agent #ai大小模型 #小模型 #开源小模型 #8b模型 #国产大模型 #SOTA #dify #数信院生信服务器 #Rstudio #生信入门 #生信云服务器 #ci/cd #jenkins #gitlab #cpolar #毕业设计 #程序人生 #科研 #博士 #课程设计 #知识图谱 #servlet #microsoft #bytebase #搜索引擎 #导航网 #Harbor #进程 #vue.js #论文 #毕设 #缓存 #redis #le audio #蓝牙 #低功耗音频 #通信 #连接 #iBMC #UltraISO #ecmascript #elementui #serverless #硬件工程 #rocketmq #jvm #学习笔记 #jdk #单片机 #嵌入式硬件 #电脑故障 #文件系统 #PyCharm # 远程调试 # YOLOFuse #jar #内网穿透 #内存治理 #django #swiftui #swift #scrapy #牛客周赛 #超算服务器 #算力 #高性能计算 #仿真分析工作站 #文心一言 #AI智能体 #DeepSeek #服务器繁忙 #udp #c语言 #ui #团队开发 #墨刀 #figma #jetty #matlab #支持向量机 #lstm #分类 #spring cloud #json #mcu #lvs #负载均衡 #散列表 #哈希算法 #企业开发 #ERP #项目实践 #.NET开发 #C#编程 #编程与数学 #处理器模块 #现货库存 #价格优惠 #PM864AK01 #3BSE018161R1 #PLC #控制器模块 #Canal #儿童书籍 #儿童诗歌 #童话故事 #经典好书 #儿童文学 #好书推荐 #经典文学作品 #jmeter #功能测试 #软件测试 #自动化测试 #OCR #文档识别 #DeepSeek-OCR-2 #信创适配 #Redisson #华为od #华为od机考真题 #华为od机试真题 #华为OD上机考试真题 #华为OD机试双机位C卷 #华为OD上机考试双机位C卷 #华为ODFLASH坏块监测系统 #链表 #时序数据库 #svn #ESXi #gitea #ESP32 #开发环境搭建 #uni-app #小程序 #vim #gcc #yum #蓝桥杯 #设备驱动 #芯片资料 #网卡 #ssl #360AI图片精简版 #看图工具 #电脑看图工具 #360看图工具 #AI看图工具 #select #vllm #机器人 #面试 #内容运营 #产品运营 #推荐算法 #dubbo #压枪 #2026年美赛C题代码 #2026年美赛 #FTP服务器 #ProCAST2025 #ProCast #脱模 #顶出 #应力计算 #铸造仿真 #变形计算 #游戏 #shell #CPU利用率 #高仿永硕E盘的个人网盘系统源码 #leetcode #web #webdav #新浪微博 #前端框架 #边缘计算 #LangFlow #智能体 #autosar #CISSP #CISSP考点 #信息安全 #CISSP哪里考 #公众号:厦门微思网络 #+微信号:xmweisi #开源社区 #国产基础软件 #操作系统 #AI框架 #Rust #计算机网络 #java大文件上传 #java大文件秒传 #java大文件上传下载 #java文件传输解决方案 #服务器架构 #AI推理芯片 #es安装 #prometheus #diskinfo # TensorFlow # 磁盘健康 #汽车 #SSH # ProxyJump # 跳板机 #目标检测 #pyqt #单目测距 #速度估计 #pyqt界面 #注意力机制 #LLM #css3 #线性回归 #嵌入式 #鸭科夫 #逃离鸭科夫 #鸭科夫联机 #鸭科夫异地联机 #开服 #防排烟监控 #消防风机一体化 #BA楼宇自控 #DDC控制器 #IBMS集成系统 #numpy #scikit-learn #matplotlib #FutureWarning #LabVIEW #光谱仪 #串口通信 #AQ6370 #chrome #go #系统架构 #unitask #Dell #PowerEdge620 #内存 #硬盘 #RAID5 #国企混改 #国企混改咨询 #国企混改战略规划 #GPU #曦望 #自动化巡检 #APM #AudioPolicy #音频策略 #pdf #excel #社科数据 #数据分析 #数据挖掘 #数据统计 #经管数据 #Ubuntu服务器 #硬盘扩容 #命令行操作 #VMware #职场发展 #创业创新 #论文笔记 #xss #selenium #远程连接 #PowerBI #企业 #三种参数 #参数的校验 #fastAPI #我的世界 #游戏私服 #云服务器 #压力测试 #系统安全 #AI写作 #数列 #数学 #数论 #洛谷 #openclaw #实在Agent #全能视频处理软件 #视频裁剪工具 #视频合并工具 #视频压缩工具 #视频字幕提取 #视频处理工具 #架构师 #软考 #系统架构师 #程序设计 #计算机毕业设计 #程序定制 #源码 #大作业 #深度优先 #DFS #ffmpeg #酒店客房管理系统 #chatgpt #DS随心转 #google #search #钉钉 #visual studio code #postman #easyui #sqlmap #单元测试 #wpf #策略模式 #SSE #whisper #软件工程 #flask #Buck #NVIDIA #交错并联 #DGX #虚幻 #ue5 #transformer #微信小程序 #计算机 #连锁药店 #连锁店 #同步WebServer服务器 #ESP32网页服务器 #轻量级http服务器 #ESP32物联网 #数字营销 #seo #stl #数据仓库 #ISP Pipeline #行缓冲 #react.js #Android #Bluedroid #游戏美术 #技术美术 #游戏策划 #游戏程序 #用户体验 #wsl #L2C #勒让德到切比雪夫 #逻辑回归 #macos #广播 #组播 #并发服务器 #零售 #TRO #TRO侵权 #TRO和解 #数字化转型 #实体经济 #中小企业 #商业模式 #软件开发 #青蓝送水模式 #创业干货 #3d #健康医疗 #金融 #教育电商 #媒体 #prompt #防毒口罩 #防尘口罩 #具身智能 #发展心理学 #运动控制 #内在动机 #镜像神经元 #交叉学科 #企业架构治理 #电力企业IT架构 #IT架构设计 #arm开发 #思维模型 #认知框架 #认知 #laravel #无人机 #安全架构 #语义检索 #文本向量化 #GTE-Pro #企业AI #电商 #powerpoint #Com #计算机现代史 #本地部署 #vLLM #IPMI #模型微调 #bash #车辆排放 #智慧校园一体化平台 #智慧校园管理系统 #合肥自友科技-智慧校园 #智慧校园源头厂家 #智慧校园软件供应商 #智慧校园平台服务商 #高性价比智慧校园系统 #MIMO #OFDM #技术原理 #通信算法 #阻塞队列 #生产者消费者模型 #服务器崩坏原因 #GNC #控制 #姿轨控 #math #homework #openresty #lua #测试覆盖率 #可用性测试 #智能体从0到1 #新手入门 #dreamweaver #信号处理 #目标跟踪 #大模型面试 #mybatis #后端 #rpc #protobuf #googlecloud #SEO #七年级上册数学 #有理数 #有理数的加法法则 #绝对值 #肿瘤相关巨噬细胞 #CXCL5 #信号通路 #胃癌 #mTOR #乐备实 #labex #Modbus-TCP #wps #敏捷流程 # Triton # 高并发 #DisM++ # 系统维护 #AI大模型应用开发 #pipeline #Transformers #NLP #AI运维 #Clawdbot #企业微信集成 #DevOps自动化 #全栈 #智能家居 #sqlserver #ZeroTermux #宝塔面板 #移动服务器 #Linux环境 #IndexTTS2 # 阿里云安骑士 # 木马查杀 #状态模式 #OBC #银河麒麟 #人大金仓 #Kingbase #android-studio #android studio #android runtime #企业级存储 #网络设备 #多线程 #数组 #性能调优策略 #双锁实现细节 #动态分配节点内存 #oracle #Playbook #AI服务器 #vue3 #天地图 #403 Forbidden #天地图403错误 #服务器403问题 #天地图API #部署报错 #海外服务器安装宝塔面板 #sglang #GB/T4857 #GB/T4857.17 #GB/T4857测试 #cnn #SAM3 #labview #集成测试 #clawdbot #QQbot #QQ #AI产品经理 #大模型开发 #echarts #打卡 #计算机英语翻译 #mmap #nio #Java面试 #Java程序员 #后端开发 #Redis #分布式锁 #r-tree #爱心代码 #表白代码 #爱心 #tkinter #情人节表白代码 #测评 #SQL #编辑器 #tcp/ip #智能路由器 #漏洞 #数据安全 #注入漏洞 #osg #设计规范 #放大电路 #MapGIS #云服务 #云门户 #IGServer #YOLO26 #YOLO11 #abtest #LangGraph #RAID #磁盘 #系统管理 #服务 #CNAS #CMA #程序文件 #蓝耘智算 #typescript #list #智能路由器 #自动驾驶 #gpu算力 #tomcat #fastmcp #语义搜索 #嵌入模型 #Qwen3 #AI推理 #.net #CCE #Dify-LLM #Flexus #js逆向 #逆向 #混淆 #漏洞挖掘 #Exchange #运营 #risc-v #安全威胁分析 #spine #命令模式 #阳台种菜 #园艺手扎 #Gemini #Nano Banana Pro #bootstrap #其他 #SEO优化 #中间件 #可信计算技术 #Moltbot #Smokeping #算法备案 #智能手机 #跳槽 #业界资讯 #扩展屏应用开发 #vue #asp.net #私域运营 #流量运营 #麒麟 #国产化 #window10 #window11 #病毒 #DCOM进程 #系统进程资源占用高 #考研 #SSH保活 #Miniconda #远程开发 #everything #材料工程 #数码相机 #智能电视 #esp32 arduino #Cpolar #国庆假期 #服务器告警 #Moltbook #SSH代理转发 #eureka #图像分类 #图像分割 #yolo26算法 #KMS 激活 #企业存储 #RustFS #对象存储 #高可用 #rust #结构体 #twitter #svm #amdgpu #kfd #ROCm #Java #Spring #Spring Boot #react native #DHCP #sql注入 #adb #b/s架构 #ssm #移动学习平台 #JavaScript #windbg分析蓝屏教程 #vnstat #监控 #Deepseek #gpt-3 #软件构建 #迁移重构 #代码迁移 #WT-2026-0001 #QVD-2026-4572 #smartermail #百度 #百度文库 #爱企查 #旋转验证码 #验证码识别 #图像识别 #ai编程 #聚类 #源代码管理 #firefox #STL #string #笔试 #京东云 #elasticsearch #版本控制 #Git入门 #开发工具 #代码托管 ##程序员和算法的浪漫 #研发管理 #禅道 #禅道云端部署 #计算几何 #斜率 #方向归一化 #叉积 #微PE #硬盘克隆 #DiskGenius #CPU # 双因素认证 #cocoa #Docker #Tetrazine-Acid #1380500-92-4 #制造 #贪心算法 #SIP服务器 #语音服务器 #VoIP #SIP协议 #网络攻击模型 #ipmitool #BMC #fpga开发 #测试流程 #金融项目实战 #P2P #html5 #webrtc #Springboot3.0 #ShaderGraph #图形 #门禁 #读卡器 #梯控 #门禁一卡通 #门禁读卡器 #梯控读卡器 #IC卡读卡器 #启发式算法 #智能化测试 #质量效能 #skills #playwright #持续测试 #职业和发展 #未加引号服务路径 #高考 #2026AI元年 #年度趋势 #KMS激活 #投标 #标书制作 #epoll #交互 #wordpress #雨云 #mvc #asp.net大文件上传 #asp.net大文件上传下载 #asp.net大文件上传源码 #ASP.NET断点续传 #排序算法 #插入排序 #.netcore #部署 # IndexTTS 2.0 # 自动化运维 #收银台开源 #收银台接口 #东方仙盟 #仙盟创梦IDE #商业开源 #intellij-idea #database #idea #儿童AI #图像生成 #Qwen #Chat平台 #ARM架构 #bond #服务器链路聚合 #网卡绑定 #2026美国大学生数学建模 #2026美赛 #美赛ICM #美赛ICM Problem F #ICM赛题F #MATLAB #apache # GLM-4.6V-Flash-WEB # AI部署 #n8n解惑 #omv8 #树莓派 #nas #SSH Agent Forwarding # PyTorch # 容器化 #春秋云境 #CVE-2020-5515 #windows11 #系统修复 #6G #太赫兹 #无线通信 #频谱 #无线 #homelab #Lattepanda #Jellyfin #Plex #Emby #Kodi #todesk #数据集 #并发 #求职招聘 #copilot #数据采集 #汇编 #tensorflow #KMP #企业微信机器人 #本地大模型 #AI聊天机器人 #隐私合规 #网络安全保险 #法律风险 #风险管理 #容斥原理 #单例模式 #娱乐 #http头信息 #junit #社交智慧 #职场生存 #系统思维 #身体管理 #商务宴请 #拒绝油腻 #清醒日常 #Kylin-Server #国产操作系统 #服务器安装 #openvino #手机检测 #课堂手机检测 #语音识别 #统信UOS #搜狗输入法 # CUDA #WIN32汇编 #clickhouse #文本生成 #AI助手 #幼儿园 #园长 #幼教 #余行补位 #意义对谈 #余行论 #领导者定义计划 #Fun-ASR # 语音识别 # WebUI #claude #LoRA # RTX 3090 # lora-scripts #就业 #CUDA #Triton #rabbitmq #Keycloak #Quarkus #AI编程需求分析 #jupyter #带宽 #流量 #大带宽 #nmodbus4类库使用教程 #鸿蒙系统 #车载系统 #Streamlit #若依 #quartz #框架 #运维开发 #用户运营 #Ubuntu #Steam #饥荒联机版 #iphone #azure #监测 #Taiji #高品质会员管理系统 #收银系统 #同城配送 #最好用的电商系统 #最好用的系统 #推荐的前十系统 #JAVA PHP 小程序 #TURN # WebRTC # HiChatBox #AI-native #dba #vivado license #文字检测 #梁辰兴 #传输连接管理 #计算机网络基础 #winscp #gpio #超算中心 #PBS #lsf #反向代理 #守护进程 #复用 #screen #sentinel #HeyGem # 数字人系统 # 远程部署 #长文本理解 #glm-4 #推理部署 #proc #连接数据库报错 #I/O #Lenyiin #vision pro #RustDesk # 黑屏模式 # TTS服务器 #一人公司 #独立开发者 #IndexTTS 2.0 #本地化部署 #sqlite #直流无刷电机 #六步换相 #kong #Kong Audio #Kong Audio3 #KongAudio3 #空音3 #空音 #中国民乐 #大模型呼叫 #外呼系统 #AI外呼 #外呼系统推荐 #智能客服 #外呼 #OpenAI #故障 #优化 #paddleocr #生信 #pencil #pencil.dev #设计 #muduo #EventLoop #大模型应用 #API调用 #PyInstaller打包运行 #服务端部署 #GitPuk #国产开源免费代码管理工具 #Arbess #cicd工具 #一文上手 #CSDN #电气工程 #C# #全链路优化 #实战教程 #AB包 #AI生成 # outputs目录 # 自动化 #AI论文写作工具 #学术论文创作 #论文效率提升 #MBA论文写作 #ajax #Tracker 服务器 #响应最快 #torrent 下载 #2026年 #Aria2 可用 #迅雷可用 #BT工具通用 #编程语言 #m3u8 #HLS #移动端H5网页 #APP安卓苹果ios #监控画面 直播视频流 #DooTask #旅游 #汇智网盘系统 #企业级云存储 #智能协作 #Puppet # IndexTTS2 # TTS # 显卡驱动备份 #vuejs #聊天小程序 #cursor #uvicorn #uvloop #asgi #event #uv #铬锐特 #uv胶 #紫外线胶水 #光固化胶水 #胶粘剂 #三维 #3D #三维重建 #信令服务器 #Janus #MediaSoup #动态规划 #gpt #TensorRT # 推理优化 #Llama-Factory # 大模型推理 #Jetty # CosyVoice3 # 嵌入式服务器 #CVE-2025-61686 #路径遍历高危漏洞 #旅游推荐管理系统 #旅游攻略 #需求分析 #公共MQTT服务器 # 服务器IP # 端口7860 #embedding #建筑缺陷 #红外 #AutoDL使用教程 #AI大模型训练 #linux常用命令 #PaddleOCR训练 #建站 # GPU租赁 # 自建服务器 #在线培训系统 #戴尔服务器 #戴尔730 #装系统 #RPA #影刀RPA #遛狗 #MinIO服务器启动与配置详解 #非标机械设计 #代理 #grafana #5G #平板 #交通物流 #智能硬件 #xeon #IO #SSH复用 # Miniconda # 远程开发 #GATT服务器 #蓝牙低功耗 #n8n #nodejs #机器视觉 #6D位姿 #mssql #数模美赛 #esb接口 #走处理类报异常 #bug菌问答团队 #毕设代做 #课设 #银河麒麟部署 #银河麒麟部署文档 #银河麒麟linux #银河麒麟linux部署教程 #AI电商客服 #昇腾300I DUO # 远程连接 #usb #通信协议 #ocr #lprnet #车牌识别 #crnn #车牌检测 #智能体来了 #图书馆 #自习室 #gerrit #提词器 #芦笋提词器 #memcache #vp9 #Claude #视频去字幕 #系统升级 #信创 #指针 #anaconda #虚拟环境 #GB28181 #SIP信令 #SpringBoot #视频监控 #ModelEngine #银河麒麟操作系统 #openssh #华为交换机 #信创终端 #mariadb #编程助手 #Gunicorn #WSGI #Flask #并发模型 #容器化 #Python #性能调优 #ceph #ambari #muduo库 #1024程序员节 #以太网温湿度气体多参量传感器 #以太网多合一传感器 #以太网环境监测终端 #可定制气体监测模组 #双指针 #国产化OS #SSH跳转 #GPU服务器 # IndexTTS # GPU集群 #考试系统 #在线考试 #培训考试 #考试练习 #轻量大模型 #cpu #LED #设备树 #GPIO #CVE-2025-68143 #CVE-2025-68144 #CVE-2025-68145 #weston #x11 #x11显示服务器 #RSO #机器人操作系统 #ONLYOFFICE #MCP 服务器 #流媒体 #NAS #飞牛NAS #NVR #EasyNVR #LE Audio #BAP #几何学 #拓扑学 #AirDrop #RAID技术 #存储 #参数估计 #矩估计 #概率论 #Cesium #交互设计 #智能避障 #STUN # TURN # NAT穿透 #学工管理系统 #学工一体化平台 #学工软件二次开发 #学工平台定制开发 #学工系统服务商 #学工系统源头厂家 #智慧校园学工系统 #可再生能源 #绿色算力 #风电 #Discord机器人 #云部署 #程序那些事 #1panel #vmware #python学习路线 #python基础 #python进阶 #python标准库 #mybatis #seata #TC/TM/RM #kmeans #领域驱动 #x-cmd #doubao #kimi #zhipu #claude-code #摩尔线程 #Spring AI #AI Agent #开发者工具 #pytest #web3.py #ICPC #llm #paddlepaddle #串口服务器 #工业级串口服务器 #串口转以太网 #串口设备联网通讯模块 #串口服务器选型 #计算机外设 #debian #r语言-4.2.1 #r语言 #语言 #树莓派4b安装系统 #多进程 #python技巧 #我的世界服务器搭建 #minecraft #泛型 #接口 #抽象类 #面向对象设计 #ueditor导入word #ueditor导入pdf #dash #捷配 #pcb工艺 #pve #区间dp #二进制枚举 #图论 #zotero #WebDAV #同步失败 #代理模式 #V11 #kylinos #markdown #智能制造 #供应链管理 #工业工程 #字符串 #时间复杂度 #空间复杂度 #eclipse #域名注册 #新媒体运营 #网站建设 #国外域名 #HBA卡 #RAID卡 #前端界面 #Coze工作流 #AI Agent指挥官 #多智能体系统 #回归 #IO编程 #HistoryServer #Spark #YARN #jobhistory #智慧城市 #comfyui #模板和元编程 #zygote #应用进程 #简单数论 #埃氏筛法 #UEFI #BIOS #Legacy BIOS #内存接口 # 澜起科技 # 服务器主板 #claude code #codex #code cli #ccusage #高级IO #PyTorch 特性 #动态计算图 #张量(Tensor) #自动求导Autograd #GPU 加速 #生态系统与社区支持 #与其他框架的对比 #yolov12 #研究生life #Node.js #漏洞检测 #CVE-2025-27210 #zabbix #Ascend #MindIE #gpu #nvcc #cuda #nvidia #静脉曲张 #腿部健康 #模块 #spring native #RXT4090显卡 #RTX4090 #深度学习服务器 #硬件选型 #IntelliJ IDEA #scala #健身房预约系统 #健身房管理系统 #健身管理系统 #ThingsBoard MCP #Tokio #异步编程 #系统编程 #Pin #http服务器 # 公钥认证 #防火墙 #改行学it #算法笔记 # 服务器IP访问 # 端口映射 #Zernike #hcipy #光学设计 #像差仿真 #SEW #赛威 #SEW变频器 #openEuler #CANN #mapreduce #里氏替换原则 #科普 #JT/T808 #车联网 #车载终端 #模拟器 #仿真器 #开发测试 #GESP4级 #GESP四级 #sort #滑动窗口 #智慧社区 #管理系统 #硬件 #密码 #AI赋能盾构隧道巡检 #开启基建安全新篇章 #以注意力为核心 #YOLOv12 #AI隧道盾构场景 #盾构管壁缺陷病害异常检测预警 #隧道病害缺陷检测 #fiddler #8U #硬件架构 #卷积神经网络 #docker-compose #LabVIEW知识 #LabVIEW程序 #LabVIEW功能 #IT #技术 #sizeof和strlen区别 #sizeof #strlen #计算数据类型字节数 #计算字符串长度 #ROS # 局域网访问 # 批量处理 # 树莓派 # ARM架构 #rustdesk #opc ua #opc #标准化事件委托 #工序流程工艺路径 #业务流程标准化 #TTS私有化 # 音色克隆 # OTA升级 # 黄山派 #api #key #AI作画 #支付 #clamav #LVDS #高速ADC #DDR # GLM-TTS # 数据安全 #xshell #host key #ip #榛樿鍒嗙被 #blender #设计师 #图像处理 #分布式数据库 #集中式数据库 #业务需求 #选型误 #文生视频 #CogVideoX #AI部署 #TCP服务器 #语音控制 #yolo #全排列 #回溯 #剪枝 #STJ算法 #行为模式分析 #数据 #应用层 #跨领域 #敏感信息 #智能一卡通 #消费一卡通 #智能梯控 #一卡通 #超时设置 #客户端/服务器 #网络编程 #RTSP #Live555 #流媒体服务器 #TcpServer #accept #高并发服务器 #强化学习 #策略梯度 #REINFORCE #蒙特卡洛 #金融投资Agent #算力一体机 #ai算力服务器 #ida #uniapp #合法域名校验出错 #服务器域名配置不生效 #request域名配置 #已经配置好了但还是报错 #uniapp微信小程序 #Anaconda配置云虚拟环境 #MQTT协议 #synchronized #锁 #reentrantlock #glibc #政务 #JAVA #C₃₂H₄₅N₇O₁₁S₂ #MCP服务器注解 #异步支持 #方法筛选 #声明式编程 #自动筛选机制 #数据迁移 #链表的销毁 #链表的排序 #链表倒置 #判断链表是否有环 #Nacos #系统安装 #p2p #多接口并发 #首页优化 #xlwings #Excel #dlms #dlms协议 #逻辑设备 #逻辑设置间权限 #React安全 #漏洞分析 #Next.js #反序列化漏洞 #web3 #vlookup #unity3d #服务器框架 #Fantasy #运动 #人脸识别 #人脸核身 #活体检测 #身份认证与人脸对比 #H5 #微信公众号 #进程创建与终止 #Highcharts #插件封装 #灌封胶 #有机硅灌封胶 #聚氨酯灌封胶 #环氧树脂灌封胶 #电子灌封胶 #智慧校园解决方案 #智慧校园选型 #智慧校园采购 #智慧校园软件 #智慧校园专项资金 #智慧校园定制开发 #C语言 #标准IO #函数接口 #小白 #模型上下文协议 #MultiServerMCPC #load_mcp_tools #load_mcp_prompt #文件IO #输入输出流 #麒麟OS #文件管理 #文件服务器 #tcpdump #scanf #printf #getchar #putchar #cin #cout #mamba #VMware Workstation16 #服务器操作系统 #凤希AI伴侣 #CPU推理 #创业管理 #财务管理 #团队协作 #创始人必修课 #数字化决策 #经营管理 #AI应用 #贝叶斯优化深度学习 #iot # 远程访问 # 服务器IP配置 #STDIO协议 #Streamable-HTTP #McpTool注解 #服务器能力 #AutoDL #租显卡 #训练推理 #Spring源码 #Dify #轻量化 #低配服务器 #Anything-LLM #IDC服务器 #工具集 #wireshark #邮箱 #postfix #dovecot #journalctl #学术写作辅助 #论文创作效率提升 #AI写论文实测 #VS Code调试配置 #LobeChat #GPU加速 #YOLOFuse # 水冷服务器 # 风冷服务器 #K8s #镜像 #集群自动化 #题解 #图 #dijkstra #迪杰斯特拉 #翻译 #开源工具 #910B #HTML #web前端 #网页开发 #面试宝典 #powerbi #elk #SQL调优 #EXPLAIN #慢查询日志 #分布式架构 #工厂模式 #黑客技术 #挖漏洞 #日志分析 #决策树 #ZooKeeper #ZooKeeper面试题 #深入解析 #防毒面罩 #防尘面罩 #海外短剧 #海外短剧app开发 #海外短剧系统开发 #短剧APP #短剧APP开发 #短剧系统开发 #海外短剧项目 #openlayers #bmap #tile #server #eBPF #连锁门店核销 #美团团购券核销 #美团核销api #saas平台美团核销 #java接入美团团购 #SSH反向隧道 # Jupyter远程访问 #Socket #模拟退火算法 #集成学习 #虚拟机 #EMC存储 #存储维护 #NetApp存储 #Hadoop #客户端 #DIY机器人工房 #nacos #CosyVoice3 # 语音合成 #can #江协 #瑞萨 #OLED屏幕移植 #文件传输 #电脑文件传输 #电脑传输文件 #电脑怎么传输文件到另一台电脑 #电脑传输文件到另一台电脑 #hdfs #银河麒麟aarch64 #SSH免密登录 #SSH别名 #unix #asp.net上传文件夹 #React #Next #CVE-2025-55182 #RSC #群晖 #远程访问 #远程办公 #飞网 #安全高效 #配置简单 #快递盒检测检测系统 #音乐 #neo4j #NoSQL #ping通服务器 #读不了内网数据库 ##租显卡 #笔记本电脑 #hibernate #逆向工程 #GEO服务 #ngrok #水性三防漆 #UV三防漆 #有机硅三防漆 #聚氨酯三防漆 #醇酸树脂三防漆 #丙烯酸三防漆 #Android16 #音频性能实战 #音频进阶 #空间计算 #原型模式 #VibeVoice # 云服务器 #网络配置实战 #Web/FTP 服务访问 #计算机网络实验 #外网访问内网服务器 #Cisco 路由器配置 #静态端口映射 #网络运维 #galeweather.cn #高精度天气预报数据 #光伏功率预测 #风电功率预测 #高精度气象 #OSS #CDN #最佳实践 #架构设计 #数据访问 #H5网页 #网页白屏 #H5页面空白 #资源加载问题 #打包部署后网页打不开 #HBuilderX #自动化运维 #实时音视频 #arm64 #UDP套接字编程 #UDP协议 #网络测试 #Deepoc #具身模型 #开发板 #未来 #实时检测 #tdengine #涛思数据 #Modbus #MOXA #论文复现 #ms-swift # 一锤定音 # 大模型微调 #deepseek #UOS #海光K100 #统信 #知识 #Proxmox VE #虚拟化 #鼠大侠网络验证系统源码 #cpp #SSH公钥认证 # 安全加固 #Java生成PDF #Freemarker转PDF #PDFBox转图片 #HTML转PDF乱码解决 #练习 #基础练习 #循环 #九九乘法表 #计算机实现 #NPU #rtmp #AI技术 #数据可视化 #网路编程 #百万并发 #Qwen3-14B # 大模型部署 # 私有化AI #IFix #c++20 #Kuikly #openharmony #reactor反应堆 #攻防演练 #Java web #红队 #跨域 #发布上线后跨域报错 #请求接口跨域问题解决 #跨域请求代理配置 #request浏览器跨域 #screen 命令 #电路仿真 #proteus #AD #keil #硬件工程师面试 #EDCA OS #可控AI # 环境迁移 #UDP的API使用 #黑群晖 #无U盘 #纯小白 #flume #游戏机 #JumpServer #蓝湖 #Axure原型发布 #零代码平台 #AI开发 #UDP #screen命令 #振镜 #振镜焊接 # 目标检测 #chat #环境搭建 #pandas #esp32教程 #claudeCode #content7 #挖矿 #Linux病毒 # 串口服务器 # NPort5630 #ipv6 #动画 #SAP #ebs #metaerp #oracle ebs #华为机试 #OpenHarmony #milvus #知识库 #流量监控 #Python办公自动化 #Python办公 #昇腾 #TTS #测试网 #erc-20 #独立链 #polkadot #框架搭建 #SRS #直播 #408 #线索二叉树 #SMP(软件制作平台) #EOM(企业经营模型) #应用系统 # 批量管理 #后端框架 #ArkUI #ArkTS #鸿蒙开发 #建造者模式 #ue4 #DedicatedServer #独立服务器 #专用服务器 #MC #证书 #嵌入式编译 #ccache #distcc #JNI #Aluminium #Google #宝塔面板部署RustDesk #RustDesk远程控制手机 #手机远程控制 #Shiro #CVE-2016-4437 #express #cherry studio #puppeteer #KMS #slmgr #DNS #运维工具 #GLM-4.6V-Flash-WEB # AI视觉 # 本地部署 # Base64编码 # 多模态检测 #移动端h5网页 #调用浏览器摄像头并拍照 #开启摄像头权限 #拍照后查看与上传服务器端 #摄像头黑屏打不开问题 #nfs #iscsi #gateway #视觉检测 #SPA #单页应用 #服务器IO模型 #非阻塞轮询模型 #多任务并发模型 #异步信号模型 #多路复用模型 #C #Karalon #AI Test #webgl #YOLOv8 # Docker镜像 #swagger #npm #VPS #搭建 #高精度农业气象 #土地承包延包 #领码SPARK #aPaaS+iPaaS #智能审核 #档案数字化 #入侵 #日志排查 #Cubase #Cubase15 #Cubase14 #Cubase12 #Cubase13 #Cubase 15 Pro #Cubase 14 Pro #ET模式 #非阻塞 #remote-ssh #SA-PEKS # 关键词猜测攻击 # 盲签名 # 限速机制 # 大模型 # 模型训练 #Spring AOP #MS #Materials #CLI #langgraph.json #CMake #Make #C/C++ #顶刊 #绘图 #研究生 #国产PLM #瑞华丽PLM #瑞华丽 #PLM #工程实践 #智能合约 #runtmie #排序 #bigtop #hdp #hue #kerberos # 高并发部署 #xml #vps #pygame #raid #raid阵列 #OWASP #juice-shop #安全漏洞练习靶场 #软件 #本地生活 #电商系统 #商城 #DDD #tdd #系统故障 #硬盘修复 #欧拉 #RGFNet多模态目标检测 #可见光-红外图像融合目标检测 #TGRS 2025顶刊论文 #YOLO多模态创新改进 #YOLO多模态融合属于发文热点 #simulink #docker安装seata #aiohttp #asyncio #异步 # GPU服务器 # tmux #生产服务器问题查询 #日志过滤 #Autodl私有云 #深度服务器配置 #VoxCPM-1.5-TTS # 云端GPU # PyCharm宕机 #webpack # 远程运维 #人脸识别sdk #视频编解码 #性能测试 #LoadRunner #漏洞修复 #IIS Crypto #TFTP #rdp #二值化 #Canny边缘检测 #轮廓检测 #透视变换 #N8N #大模型部署 #mindie #ComfyUI # 推理服务器 #libosinfo #log #EtherCAT #XMC4800 #工业自动化 #硬件设计 #联机教程 #局域网联机 #局域网联机教程 #局域网游戏 #晶振 #WinDbg #Windows调试 #内存转储分析 #西门子 #汇川 #Blazor #浏览器自动化 #python # 服务器迁移 # 回滚方案 #cascadeur #身体实验室 #健康认知重构 #微行动 #NEAT效应 #亚健康自救 #ICT人 #OpenManage #性能 #RAM #夏天云 #夏天云数据 #x86_64 #数字人系统 #CS2 #debian13 #经济学 #asp.net上传大文件 #rtsp #转发 #鲲鹏 #Coturn #turn #ICE #信创国产化 #达梦数据库 #梯控一卡通 #电梯一卡通 #考勤一卡通 #SMARC #ARM #RK3576 #瑞芯微 # 代理转发 #idm #网站 #截图工具 #批量处理图片 #图片格式转换 #图片裁剪 #浏览器指纹 #温湿度监控 #WhatsApp通知 #IoT #MySQL #SMTP # 内容安全 # Qwen3Guard #web服务器 #X11转发 #懒汉式 #恶汉式 #可撤销IBE #服务器辅助 #私钥更新 #安全性证明 #双线性Diffie-Hellman #gRPC #注册中心 #win11 #edge #迭代器模式 #观察者模式 #短剧 #短剧小程序 #短剧系统 #微剧 # 智能运维 # 性能瓶颈分析 #devops #一周会议与活动 #ICLR #CCF #Comate # AI翻译机 # 实时翻译 #I/O模型 #水平触发、边缘触发 #多路复用 ##python学习笔记 #python中with语句详解 #路由器 #插件 #BIOS中断 #C++ UA Server #SDK #Windows #跨平台开发 #FHSS #心理健康服务平台 #心理健康系统 #心理服务平台 #心理健康小程序 #贴图 #材质 #北京百思可瑞教育 #百思可瑞教育 #北京百思教育 #agentic bi #dynadot #域名 #音乐分类 #音频分析 #ViT模型 #Gradio应用 #HarmonyOS APP #safari #b树 #大学生 # ControlMaster #测速 #iperf #iperf3 #学术生涯规划 #CCF目录 #基金申请 #职称评定 #论文发表 #科研评价 #顶会顶刊 #spring ai #oauth2 #memory mcp #Cursor #cocos2d #图形渲染 #ARM64 # DDColor # ComfyUI #C2000 #TI #实时控制MCU #AI服务器电源 #Fluentd #Sonic #日志采集 #面向对象 #安全性测试 #大剑师 #nodejs面试题 #期刊 #SCI #内网 #restful #js #远程桌面 #远程控制 #SSH跳板机 # Python3.11 #外卖配送 #全文检索 #API限流 # 频率限制 # 令牌桶算法 #视频 #sklearn #rsync # 数据同步 #渗透测试 #网安应急响应 #管道Pipe #system V #雨云服务器 #Minecraft服务器 #教程 #MCSM面板 #Apple AI #Apple 人工智能 #FoundationModel #Summarize #SwiftUI #程序员转型 #gnu #工作 #模版 #函数 #类 # 服务器配置 # GPU #WEB #格式工厂 #千问 #uvx #uv pip #npx #Ruff #Gateway #认证服务器集成详解 #服务器开启 TLS v1.2 #IISCrypto 使用教程 #TLS 协议配置 #IIS 安全设置 #服务器运维工具 #YOLO识别 #YOLO环境搭建Windows #YOLO环境搭建Ubuntu #mtgsig #美团医药 #美团医药mtgsig #美团医药mtgsig1.2 #寄存器 #套接字 #I/O多路复用 #字节序 #工程设计 #预混 #扩散 #燃烧知识 #层流 #湍流 #vrrp #脑裂 #keepalived主备 #高可用主备都持有VIP #WinSCP 下载安装教程 #SFTP #FTP工具 #服务器文件传输 #软件需求 #个人博客 # 键鼠锁定 #项目申报系统 #项目申报管理 #项目申报 #企业项目申报 #手机h5网页浏览器 #安卓app #苹果ios APP #手机电脑开启摄像头并排查 #昭和仙君 #个人助理 #数字员工 #宠物 #pxe #reactjs #信奥赛 #提高组 #csp-s #初赛 #真题 #数据库架构 #网络 #铁路桥梁 #DIC技术 #箱梁试验 #裂纹监测 #四点弯曲 #MinIO #熵权法 #灰色关联分析 #麦克风权限 #访问麦克风并录制音频 #麦克风录制音频后在线播放 #用户拒绝访问麦克风权限怎么办 #uniapp 安卓 苹果ios #将音频保存本地或上传服务器 #传统服饰销售平台 #tekton #因果学习 #free #vmstat #sar #AI应用编程 #闲置物品交易系统 #IPv6 #自由表达演说平台 #演说 #STDIO传输 #SSE传输 #WebMVC #WebFlux #Minecraft #PaperMC #我的世界服务器 #前端开发 #EN4FE #代码规范 #国产开源制品管理工具 #Hadess #范式 #农产品物流管理 #物流管理系统 #农产品物流系统 #农产品物流 #4U8卡 AI 服务器 ##AI 服务器选型指南 #GPU 互联 #GPU算力 #VSCode # SSH #IPMB #远程管理 #多模态 #微调 #超参 #LLamafactory #奈飞工厂算法挑战赛 #API #taro #结构与算法 #Langchain-Chatchat # 国产化服务器 # 信创 #TLS协议 #HTTPS #运维安全 #传统行业 #AI赋能 #持续部署 #机器翻译 #程序开发 #Syslog #系统日志 #日志监控 #idc #MCP SDK #esp32 #mosquito #效率神器 #办公技巧 #自动化工具 #Windows技巧 #打工人必备 #攻击溯源 #编程 #warp #数智红包 #商业变革 #llvm #Go并发 #高并发架构 #Goroutine #系统设计 #net core #kestrel #web-server #asp.net-core #数字孪生 #三维可视化 # Qwen3Guard-Gen-8B #Prometheus #Zabbix #语音合成 #FASTMCP #ClaudeCode #AICoder #人工智能编码助手 #交换机 #三层交换机 #高斯溅射 #随机森林 #运维 #开关电源 #热敏电阻 #PTC热敏电阻 #batch #springboot3 #springboot3升级 #Spring Batch #升级Spring Batch #说话人验证 #声纹识别 #CAM++ #云开发 #AI视频创作系统 #AI视频创作 #AI创作系统 #AI视频生成 #AI工具 #AI创作工具 #AI智能棋盘 #Rock Pi S #华为od机试 #华为od机考 #华为od最新上机考试题库 #华为OD题库 #od机考题库 #AI+ #coze #AI入门 #MC群组服务器 #计组 #数电 #c++高并发 #BoringSSL #云计算运维 #Python3.11 #PTP_1588 #gPTP #uip #k8s #上下文工程 #langgraph #意图识别 #win10 #qemu # ARM服务器 # 鲲鹏 #开发实战 #WRF #WRFDA #银河麒麟服务器系统 #HarmonyOS #进程等待 #wait #waitpid #vertx #vert.x #vertx4 #runOnContext # 离线AI #万悟 #联通元景 #传感器 #MicroPython #文件上传漏洞 #机器人学习 #nosql # IP配置 # 0.0.0.0 #英语学习 #A2A #GenAI #istio #服务发现 #bug #视觉理解 #Moondream2 #多模态AI #CTF #主板 #电源 #磁盘配额 #存储管理 #形考作业 #国家开放大学 #系统运维 #青少年编程 #勒索病毒 #勒索软件 #加密算法 #.bixi勒索病毒 #数据加密 #OPCUA #CA证书 #星际航行 #lucene #DAG #服务器解析漏洞 #ArcGIS #批量操作 #地理空间分析 #云服务器选购 #Saas #NFC #智能公交 #服务器计费 #FP-增长 #outlook #错误代码2603 #无网络连接 #2603 #Host #SSRF #ETL管道 #向量存储 #数据预处理 #DocumentReader #SSH密钥 #smtp #smtp服务器 #PHP #intellij idea #canvas层级太高 #canvas遮挡问题 #盖住其他元素 #苹果ios手机 #安卓手机 #调整画布层级 #SQL注入 #WAF绕过 #godot #fs7TF #节日 #静态链接 #链接 #ESP32编译服务器 #Ping #DNS域名解析 #moltbot #cosmic #地理 #遥感 #Docsify #技术博客 # REST API #AI 推理 #NV #npu #游戏服务器断线 # keep-alive #系统降级 #华为P30 #处理器 #Archcraft #ansys #ansys问题解决办法 # 网络延迟 #ranger #MySQL8.0 #远程软件 #对话框 #Dialog #桌面开发 #MessageDialog #QInputDialog #解释器模式 # Connection refused #teamviewer # GLM # 服务连通性 #标准化流模型 #概率生成模型 #可逆变换 #概率密度变换 #知识点 #RIP #结构体与联合体 #Socket网络编程 #glances #数据恢复 #视频恢复 #视频修复 #RAID5恢复 #流媒体服务器恢复 #毕设定制 #duckdb # 硬件配置 #web server #请求处理流程 #阿里云RDS #ftp #sftp # 轻量化镜像 # 边缘计算 #opc模拟服务器 #coffeescript # 批量部署 #samba #H3C # ms-swift #服务器线程 # SSL通信 # 动态结构体 #报表制作 #职场 #用数据讲故事 #语音生成 #AI教材写作工具 #AI创作技术 #教材编写实战 #创作效率优化 #tornado #个性化推荐 #BERT模型 #adobe #Qwen3-VL # 服务状态监控 # 视觉语言模型 #2025年 #gmssh #宝塔 #传媒 #隐函数 #常微分方程 #偏微分方程 #线性微分方程 #线性方程组 #非线性方程组 #复变函数 #POC #问答 #交付 #校园志愿者 #LangGraph 1.0 #企业级部署 #Kubernetes集群 #生产环境 #UDP服务器 #recvfrom函数 #FunASR #语音转文字 #Ward #边缘AI # Kontron # SMARC-sAMX8 #okhttp #CVE-2025-13878 #CWE-617 #远程攻击 #递归 #线性dp #日志模块 #音诺ai翻译机 #AI翻译机 # Ampere Altra Max #小艺 #搜索 #WAN2.2 #人形机器人 #人机交互 #Linux多线程 #Proteus #UART #嵌入式系统 #统信操作系统 #信息收集 #poll #boosting # 模型微调 #VMware创建虚拟机 #远程更新 #缓存更新 #多指令适配 #物料关联计划 #库存管理 #量子计算 #NSP #下一状态预测 #aigc #RK3588 #RK3588J #评估板 #核心板 #嵌入式开发 #resnet50 #分类识别训练 #cmmi #结对编程 #个人电脑 #xcode #Termux #Samba #人流量统计 #roi区域识别 #车辆识别 #Xshell #Finalshell #生物信息学 #组学 #Spire.Office # 权限修复 #开题报告 #SQL注入主机 #RS232 #RS485 #RS422 #Matrox MIL #二次开发 #CMC #0day漏洞 #DDoS攻击 #漏洞排查 # DIY主机 # 交叉编译 #YOLOv13多模态创新改进 #YOLO多模态融合检测改进 #ICCV 2025多模态顶会 #LIF 局部光照感知融合模块 #效融合 RGB 与红外信息 #可见光与红外图像融合目标检测 #VMWare Tool #c #美食 #网络安全大赛 #大数据分析 #CS336 #Assignment #Experiments #TinyStories #Ablation #bochs #算力建设 #车载嵌入式 #Zigzag #ARMv8 #内存模型 #内存屏障 #AE #protobuffer #结构化数据序列化机制 #声源定位 #MUSIC #AITechLab #cpp-python #CUDA版本 # 高温监控 #ServBay #基础语法 #标识符 #常量与变量 #数据类型 #运算符与表达式 #Linly-Talker # 数字人 # 服务器稳定性 #总体设计 #电源树 #框图 #向量嵌入 #代理服务器 #boltbot #ACID #多文档事务 #分布式事务 #智能体对传统行业冲击 #行业转型 #odoo #人脸活体检测 #live-pusher #动作引导 #张嘴眨眼摇头 #苹果ios安卓完美兼容 #appche #海量数据存储 #cesium #可视化 #ASR #SenseVoice #PN 结 #RWK35xx #语音流 #实时传输 #node #Unity #游戏服务器 #AI零代码开发 #敏捷开发 #自然语言编程 #软件开发范式变革 #Navidrome #二维数组 # child_process #爬虫实战 #零基础python爬虫教学 #双色球历史开奖数据 #期号红球篮球开奖日期等 #结构化CSV存储 #DuckDB #协议 #思爱普 #SAP S/4HANA #ABAP #NetWeaver #测量 #网络安全计划 #数字时代 #机器人运动学 #PyKDL #Beidou #北斗 #SSR #Arduino BLDC #核辐射区域探测机器人 #OpenCode #技能系统 #技能模板 #电梯 #电梯运力 #电梯门禁 #数据报系统 #FPGA #动态数码管 #Verilog HDL #计时 #基于uni-app的 #校园二手物品交易系统 #AI写作工具 #教材编写效率提升 #AI教材编写 #教材编写难题解决 #教育领域AI应用 #远程桌面协议 #SPICE #MOSFET #晶圆制造 #芯片制造 #AI工具集成 #容器化部署 #AI教程 #TCP/IP #vncdotool #链接VNC服务器 #如何隐藏光标 #基金 #股票 #开关电源设计 #SpringSecurity #鉴权 #ossinsight #jquery #小智 #分子动力学 #化工仿真 #session #haproxy #JADX-AI 插件 #电子电气架构 #系统工程与系统架构的内涵 #Routine #starrocks #ssh登录 #实例分割 #isic2016 #L6 #L10 #L9 #Helm Chart #composer #symfony #java-zookeeper #grpc #Mycat #保姆级教程 #电机正反转 #TMC2240 #DIR引脚控制 #机器狗 #AGV #AMR #机器人乘梯 #DSL #解析器 #redisson #力扣 #前缀和 #分享 #PS #photoshop #fork函数 #进程创建 #进程终止 #anti-content #anti-content分析 #anti-content逆向 #Typora #状态图 #甘特图 #类图 #时序/序列图 #实体关系ER图