利用基于表单的身份验证,可以控制登录页面的外观和感觉。基于表单的身份验证工作方式与基本身份验证类似,不同之处在于指定显示一个登录页面,而不是对话框,如果登录失败,将显示错误页面。与基本身份验证一样,基于表单的身份验证并不安全,因为口令以明文方式传输。与基本身份验证以及摘要身份验证不同的是,基于表单的身份验证在servlet规范中定义,而不是HTTP规范。
基于表单的登录可定制登录页面,但是,不能定制身份验证过程本身。基于表单的身份验证需要以下步骤:1、实现登录页面。2、如果登录失败,将显示错误页面。3、在部署描述信息中,指定基于表单的身份验证,以及第二步中的登录页面和错误页面。除了用户名和口令字段的名称以及表单操作之外,登录页面是很普通的。这些名称分别是j_username、j_password和j_security_check(在servlet规范中定义它们),它们必须用于基于表单的登录。在JSP页面中部署描述信息指定安全约束,它将对/protected-page.jsp的访问限制在tomcat角色中的主体。身份验证方法被指定为FORM,而且登录页面和错误页面可以被识别。