Servlet & JSP - Form-based Authentication

基本认证摘要认证都只能使用浏览器自带的登录框而不能使用自定义的登录页面。如果必须使用自定义的登录页面,则可以选择基于表达的认证方式。

基于表达的认证的配置与基本认证和摘要认证的差别在于部署描述符中 <login-config/> 元素的设置不同:

<login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
        <form-login-page>/login.html</form-login-page>
        <form-error-page>/login.html</form-error-page>
    </form-login-config>
</login-config>

基于表单的认证方式需将 auth-method 置为 FORM 同时配置 form-login-config 元素。form-login-config 元素有两个子元素:form-login-page 元素与 form-error-page 元素。当访问受保护的资源时,如果用户还未认证,servlet 容器则发出 form-login-page 指定的页面。如果验证失败的话,servlet 容器发出 form-error-page 指定的元素。可以将 form-login-page 与 form-error-page 同时都指定为登录页面,这样当验证错误时用户可以继续输入用户名和密码。

下面是一个简单的登录页面 login.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login</title>
</head>
<body>
    <h1>Login Form</h1>
    <form action="j_security_check" method="post">
        <div>
            User Name: <input name="j_username"/>
        </div>
        <div>
            Password: <input name="j_password" type="password" />
        </div>
        <div>
            <input type="submit" value="Login" />
        </div>
    <form>
</body>
</html>

当在浏览器键入受保护的资源时,servlet 容器发送指定的登录页面:

如果输入正确的用户名和密码时,则可以访问到受保护的资源。可以使用 HttpServletRequest.getUserPrincipal 获取包含用户登录信息的 java.security.Principal 对象。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html>
    <head>
        <title>Photo</title>
    </head>
    <body>
        Hello, ${ pageContext.request.userPrincipal.name }!
    </body>
</html>

成功登录后,访问受保护的资源:

时间: 2024-12-28 01:33:48

Servlet & JSP - Form-based Authentication的相关文章

configure JDBCRealm JAAS for mysql and tomcat 7 with form based authentication--reference

Hello all, In this tutorial we are going to configure JDBCRealm JAAS for tomcat 7 and mysql database server. Let us first understand what exactly these terminologies mean. JAAS : Java Authentication and Authorization Service is used for user authenti

Struts2、SpringMVC、Servlet(Jsp)性能对比 测试

Struts2.SpringMVC.Servlet(Jsp)性能对比 测试 . Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照它. 做为一个程序员,对于各个框架的性能要有一个基本的认知,便于选型时做出正确的决策. 在测试中发现了什么也不要大喊大叫,因为这些都是Java程序员的基础知识. 人人都要了解. ----------------------------------------------------------------------------------

javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

servlet&amp;jsp高级:第五部分

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4289487.html 标准标签库(JSTL)... 98 JSTL的组成... 98 核心标签库... 99 <c:out>标签... 99 <c:set>标签... 99 <c:remove>标签... 100

javax.servlet.jsp.JspException: No getter method for property

javax.servlet.jsp.JspException: No getter method for property getAvailableAddres sRequest.resellerId of bean org.apache.struts.taglib.html.BEAN at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:968) struts-config.xml: <form-beans> <

深入分析JavaWeb Item19 -- 基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

JavaWeb学习总结(基于Servlet+JSP+JavaBean开发模式的用户登录注册)

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

基于Servlet+JSP+JavaBean开发模式的用户登录注册

基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模

servlet&amp;jsp入门.....韩顺平笔记

u 背景知识介绍 J2EE的13种技术 java->servlet->jsp [技术总是有一个演变过程] zip粘贴到word设置 u 回顾一下我们现有的技术 java 基础(面向对象,集合,界面,线程,文件,网络) jdbc (java 的数据库编程) oracle / mysql / sqlserver html css javascript (web  开发)  ->网页设计 xml serlvet+jsp ->java web开发[使用java技术做 web开发] u ja