shiro1.4.0的FirstSuccessfulStrategy验证存在bug

mac2025-04-19  6

本人在做shiro测试的时候,发现多个realms验证时,对于FirstSuccessfulStrategy验证,1.4.0版本有个bug,会返回最后一个认证成功的信息,并不是第一个验证成功的,跟踪源码,查看到1.4.0和1.4.1版本的不同,

1.4.0源码如下

if (aggregate != null && isEmpty(aggregate.getPrincipals())) {             return aggregate;         }         return info != null ? info : aggregate;

1.4.1

if (aggregate != null && !isEmpty(aggregate.getPrincipals())) {             return aggregate;         } else {             return info != null ? info : aggregate;         }

尽管只是这一点不同,但是最后返回的结果截然不同,第一个会验证所有并覆盖之前的,只返回最后一个验证成功的信息,但是第二个才是真的验证了FirstSuccessfulStrategy,返回第一个验证成功的

第一次写,有点粗糙,希望大家鼓励

 

最新回复(0)