./application-core/src/main/java/dev/caskeleton/application/security/AuthorizationDeniedException.java:6: * Raised by {@link AuthorizationPort} when an authenticated caller lacks a required {@link ./application-core/src/main/java/dev/caskeleton/application/security/RequiresPermission.java:16: * {@link AuthorizationPort}. See README for the AOP-proxy bypass caveat and where it is required. ./application-core/src/main/java/dev/caskeleton/application/security/AuthorizationPrincipal.java:8: * Framework-free view of the authenticated caller consumed by {@link AuthorizationPort}: the IdP ./application-core/src/main/java/dev/caskeleton/application/security/ObjectAccessPolicy.java:11: *
Distinct from {@link AuthorizationPort}, which answers "may this caller perform this kind of
./application-core/src/main/java/dev/caskeleton/application/security/AuthorizationPort.java:13:public interface AuthorizationPort {
./app-bootstrap/src/test/java/dev/caskeleton/bootstrap/architecture/CleanArchitectureTest.java:688: + "DECISION is a framework-free port (@RequiresPermission / AuthorizationPort / "
./app-bootstrap/src/test/java/dev/caskeleton/bootstrap/architecture/CleanArchitectureTest.java:911: // authorization contract consumed by AuthorizationPort.
./app-bootstrap/src/test/java/dev/caskeleton/bootstrap/activation/StartupWarningZeroTest.java:17: * resolved {@code AuthorizationPort} while BeanPostProcessors were still registering, so three
./shared-contract/src/main/java/dev/caskeleton/shared/security/Permission.java:8: * AuthorizationPort} contract consumes; lives in {@code shared-contract} so the application layer
./sample-portfolio/src/test/java/dev/caskeleton/sample/portfolio/authz/WorkLogAuthorizationContractTest.java:58: * {@code @RequiresPermission} → {@code AuthorizationPort} → {@code RolePermissionRegistry} path
./adapter/inbound/web/src/test/java/dev/caskeleton/adapter/inbound/web/authz/RequiresPermissionAuthorizationManagerTest.java:10:import dev.caskeleton.application.security.AuthorizationPort;
./adapter/inbound/web/src/test/java/dev/caskeleton/adapter/inbound/web/authz/RequiresPermissionAuthorizationManagerTest.java:29: private final AuthorizationPort port =
./adapter/inbound/web/src/main/java/dev/caskeleton/adapter/inbound/web/authz/MethodSecurityConfig.java:3:import dev.caskeleton.application.security.AuthorizationPort;
./adapter/inbound/web/src/main/java/dev/caskeleton/adapter/inbound/web/authz/MethodSecurityConfig.java:34: * registered. Taking {@code AuthorizationPort} directly made Spring instantiate it — and with it
./adapter/inbound/web/src/main/java/dev/caskeleton/adapter/inbound/web/authz/MethodSecurityConfig.java:51: ObjectProvider Object-level access is delegated to {@link GraphQlObjectAuthorizationPort}, because it needs
./adapter/inbound/graphql/src/testFixtures/java/dev/caskeleton/adapter/inbound/graphql/testkit/GraphQlSecurityContractSuite.java:7:import dev.caskeleton.adapter.inbound.graphql.security.GraphQlObjectAuthorizationPort;
./adapter/inbound/graphql/src/testFixtures/java/dev/caskeleton/adapter/inbound/graphql/testkit/GraphQlSecurityContractSuite.java:35: GraphQlObjectAuthorizationPort objectAuthorization,