16장. 동일한 ContractHub 화면으로 권한을 실험한다
다음 화면은 장식용 mockup이 아니다. lab/src/policy-engine.mjs가 실제 판정을 수행하고, Node 테스트와 Java SecurityContractTest가 같은 fixture를 사용한다.

실습 순서:
bob · ACME MANAGER, 승인,IN_REVIEW, 200만원은 ALLOW다.- 사용자를
alice로 바꾸면role permission에서 DENY다. mallory로 바꾸면 ADMIN이어도tenant boundary에서 DENY다.bob으로 돌아와 상태를DRAFT로 바꾸면domain state에서 DENY다.- 금액을 2천만원으로 바꾸면
step-up에서 DENY다. - 패스키 추가 인증을 체크하면 ALLOW다.
cd spring-security-boot3
npm test
# 8개 결정 계약이 모두 통과해야 한다.
화면의 reason은 첫 실패 지점이다. 운영 감사에는 전체 검사와 정책 버전, 결정 ID를 남기되 비밀번호, cookie, Bearer token, 계약 본문을 넣지 않는다. 사용자에게는 상세 내부 정책을 그대로 노출하지 않는다.