微服务高频面试题
本课程系统讲解微服务架构核心知识,涵盖SpringBoot与SpringCloud应用、Nacos注册与配置中心、OpenFeign远程调用、Sentinel熔断限流、Gateway网关鉴权、分布式事务Seata、RabbitMQ消息队列、Elasticsearch搜索及Redis缓存等技术,结合实战场景解析服务治理、数据同步与高并发处理方案。
@RefreshScope热更新原理
@RefreshScope实现配置热更新,核心在于@Scope("refresh")与动态代理。该注解使Bean纳入自定义刷新作用域,配置变更时清空缓存,触发Bean重建,结合Spring环境刷新,实现@Value等属性的动态更新。本质是缓存失效+Bean重载机制。
自定义认证前端页面
本示例演示Spring Security基础配置:前端引入登录页,后端新增接口与安全配置。通过SecurityConfig实现请求认证、表单登录、自定义跳转等,启动后访问/demo/index将自动跳转登录页,输入用户名密码后即可查看返回信息。
常用过滤器介绍
Spring Security通过过滤器链实现安全控制,涵盖认证、授权、CSRF防护等。每个过滤器各司其职,如SecurityContextPersistenceFilter管理上下文,UsernamePasswordAuthenticationFilter处理登录,LogoutFilter处理退出。实际加载的过滤器随配置动态调整,并非全部启用。
自定义注解
本文介绍基于Spring AOP实现自定义注解的完整流程,涵盖日志记录、权限控制等场景。通过定义注解、结合AOP切面与过滤器,演示其在Web请求中的实际应用,如方法拦截、登录鉴权等,展现其扩展性与实用性。(238字)
过滤器链加载原理
通过分析DelegatingFilterProxy、FilterChainProxy与SecurityFilterChain源码,揭示了Spring Security过滤器链的加载机制:由web.xml中配置的DelegatingFilterProxy代理,通过bean名称获取FilterChainProxy实例,再由其内部封装的SecurityFilterChain加载15个安全过滤器,最终构建完整的安全过滤链。
认识SpringSecurity
Spring Security 是 Spring 的核心安全框架,提供认证、授权及安全防护功能。支持表单、OAuth2、JWT 等多种认证方式,基于过滤器链实现请求鉴权,可防御 CSRF 等攻击,灵活扩展,保障 Web 应用安全。
实现权限管理的技术
权限管理技术选型需综合考量。常见方案如Apache Shiro轻量易用,但安全维护弱;Spring Security功能强大、防护全面,但配置复杂;自定义ACL契合业务但通用性差。多数技术基于ACL或RBAC模型封装,选型应结合项目实际,权衡易用性、扩展性与维护成本。
OAuth2.0实战案例
本项目基于Spring Boot与Spring Cloud构建,实现OAuth2四种授权模式。通过父工程统一管理依赖,分别搭建资源服务器与认证服务器,集成MyBatis与MySQL实现用户及客户端信息持久化,完成授权码、简化、密码及客户端模式的认证流程,保障资源访问安全。
通用权限管理模型
本文介绍ACL、RBAC等常见权限模型。ACL基于对象授权,简单直接;RBAC通过用户-角色-权限-资源的层级关系实现灵活控制,具备最小权限、职责分离、数据抽象三大原则,并衍生出含角色继承与职责分离机制的RBAC0-RBAC3系列模型,是现代系统主流权限设计基础。(238字)