Spring Security Architecture Explained