Tengo un permiso personalizado llamado SomePermission que extiende la clase BasicPermission. También tengo la siguiente entrada en el archivo de política.
otorgar principal org.sample.jaas.pincipal.SomePrincipal "admin" { permission org.sample.jaas.permission.SomePermission "/ permission / stock / quote", "CREATE, READ"; };
Después de un inicio de sesión exitoso, tengo que seguir la autorización de verificación de código
private boolean isAuthorized(Subject subject, final Permission permission) {
final SecurityManager securityManager;
if (System.getSecurityManager() == null) {
securityManager = new SecurityManager();
} else {
securityManager = System.getSecurityManager();
}
try {
Subject.doAsPrivileged(subject, (PrivilegedExceptionAction) () -> {
securityManager.checkPermission(permission);
return null;
}, null);
return true;
} catch (AccessControlException ace) {
return false;
} catch (PrivilegedActionException pae) {
return false;
}
}
Después de depurar el código, he identificado que necesita un objeto PermissionInfo para que la clase SomePermission esté disponible en el proceso de autorización. ¿Alguna idea?
Cualquier entrada será apreciada.