Spring Security Architecture: Deep Dive