Spring Security provides first class authentication, authorization, and protection against common attacks for web applications deployed in a servlet container and reactive applications.