Form-based authentication requires a specific HTML form with action j_security_check, username field j_username, and password field j_password. The container requires this exact HTML structure to handle the authentication process. Basic, Digest, and Client Certificate authentication use HTTP headers or SSL certificates - they don't require application-provided HTML forms with specific action attributes.