[ISSUE#6595] Fix NPE and repeat access key log (#6596)

* [ISSUE#6595] fix NPE and repeat access key log

* optimize code
This commit is contained in:
hiyo
2023-05-26 08:38:59 +08:00
committed by GitHub
parent 224d660670
commit 330d56b2cf
@@ -243,6 +243,8 @@ public class PlainPermissionManager {
if (oldPath == null || aclFilePath.equals(oldPath)) {
plainAccessResourceMap.put(plainAccessResource.getAccessKey(), plainAccessResource);
this.accessKeyTable.put(plainAccessResource.getAccessKey(), aclFilePath);
} else {
log.warn("The accessKey {} is repeated in multiple ACL files", plainAccessResource.getAccessKey());
}
}
}
@@ -613,8 +615,8 @@ public class PlainPermissionManager {
// Check the white addr for accessKey
String aclFileName = accessKeyTable.get(plainAccessResource.getAccessKey());
PlainAccessResource ownedAccess = aclPlainAccessResourceMap.get(aclFileName).get(plainAccessResource.getAccessKey());
if (null == ownedAccess) {
PlainAccessResource ownedAccess = aclPlainAccessResourceMap.getOrDefault(aclFileName, new HashMap<>()).get(plainAccessResource.getAccessKey());
if (ownedAccess == null) {
throw new AclException(String.format("No PlainAccessResource for accessKey=%s", plainAccessResource.getAccessKey()));
}
if (ownedAccess.getRemoteAddressStrategy().match(plainAccessResource)) {