响应式安全局部实验
公开入口,仓库根目录,JDK21/Maven3.9/Python3:
JAVA_HOME=$(/usr/libexec/java_home -v21) python3 labs/reactive-security/run.py公开工程:POM、runner、应用完整配置、HTTP测试、JWT测试、JWKS fixture、RSocket测试、会话测试、运行证据、开发记录。
沿用U27已核官方兼容的Boot4.0.9/Framework7.0.10/Security7.0.8/Reactor3.8.8/Reactor Netty1.3.8/RSocket1.1.5。实际解析版本、JDK发行商与patch、OS架构见入口生成的运行JSON。macOS arm64使用对应Netty DNS native库,其他平台由Netty支持的解析器运行。
独立应用保留U27传播探针,不将固定Authentication写入Context冒充认证。本工程真实SecurityWebFilterChain、密码编码器/ReactiveAuthenticationManager、响应式方法代理、JWT decoder、WebSession/CSRF、RSocket payload interceptor均在本机运行。只使用合成账号和随机loopback HTTP/TCP端口;无企业LDAP/IdP/KDC、无数据库或本机服务配置改动。
| 测试 | 真实观察接口与输入 | 边界 |
|---|---|---|
| ReactiveHttpTest | 无凭据/错误密码/未知账号401后正常200;合法身份跨boundedElastic、12个交错用户请求、后继匿名仍401;请求角色与独立方法权限403/200;owner参数无法替换可信身份 | 真实Netty HTTP及BCrypt6(降低cost仅为本机测试);Basic不等于生产TLS,无用户目录同步/租户数据库 |
| JwtHttpTest | 本机RSA真签名、HTTP JWKS、NimbusReactiveJwtDecoder;错签名/iss/aud/exp/nbf401,每次后valid200;scope不足403 | JWKS发布器是受控协议fixture,不是AS;没有伪造已认证Context。令牌签发/撤销/OIDC协议由U30真实三进程实验负责 |
| RSocketAuthenticationTest | 真TCP、每请求Simple Authentication metadata;缺/错凭据拒绝、admin route拒绝/放行、同连接alice/bob独立、匿名不继承、有效请求恢复 | SETUP允许,业务请求必须认证;Simple不同于HTTP Basic。未运行SETUP机器身份+用户双层、TLS、JWT payload或集群撤销 |
| WebSessionTest | 真实HTTP CookieManager,读取CSRF才创建session;成功认证换id、cookie恢复身份、缺/错CSRF403而有效POST200、logout后401再认证恢复 | HTTP Basic成功handler显式保存WebSession,区别API无状态链;这是会话存取实验,没有浏览器攻击或企业SSO退出声明 |
三个HTTP链按JWT→browser→API顺序选择。默认CSRF保留,没有为方便关闭;browser显式WebSession仓库,JWT/API显式NoOp仓库;默认HTTP安全头保留。CSRF值、Cookie、完整token、密码、RSA私钥不写公开证据,只有合成用户名/场景/响应状态及脱敏观察行。
入口执行clean test,四个测试类关闭其Spring上下文、Netty listener及JWKS fixture,RSocket requester/listener在finally定向dispose并等待;JVM退出释放测试客户端资源。原始日志与依赖树保存仓库外每次独有缓存目录;有界超时或中断时对本次独有进程组TERM/wait,必要时KILL/wait,覆盖Maven fork的测试JVM;失败退出不写成功证据,不拼接历史运行。evidence/u31-2026-10-26.json只由一次完整成功入口生成,包含命令、退出码、4类/测试数、观察、完整源码/配置/runner/README的SHA-256和清理事实。
LDAP/SAML/X509/MFA/OTT/WebAuthn/CAS/JAAS/Kerberos等企业扩展为教材固定源码/配置/失败推演,不是上述运行的组成部分。Reactive OAuth Login/Client/opaque、并发会话、TLS客户端证书、外部权限撤销、全局Observability、HTTP攻击矩阵未实跑;不能从本机结果推导其部署通过。吞吐、自然过期窗口、故障分区和生产容量均未测。