【JSP/SERVLET】Tomcat内置表单身份验证

一、概述

    前面是扯犊子的,JSP/SERVLET基于HTTP规范,提供了几种安全支持,BASIC、DIGEST、FORM、CLIENT-CERT,本文主要介绍一下FORM的安全支持开发,文末有一个小demo用于展示。

    因为FORM方式比较少用,因此本文介绍的原理点到即止,并没有特别特别深入,见谅。

    更多详情,请参见《JSP/SERVLET核心编程》(新浪微盘,您找PDF的天堂···)


二、详细

1. 原理简述

    FROM声明式安全基于表单验证。

    简述:用户想要访问某一个受保护的资源,如果用户未登路,则将用户导向一个特定格式的表单进行身份验证,验证通过则继续访问资源;验证不通过,则将用户导向一个提示页面。

    关键点:

    a. 对受保护资源进行配置。本例是基于URL进行限制保护,因此需要在web.xml中配置受保护的URL;

    b. 特定格式的表单写法。主要是三部分的固定写法,一是表单action必须为j_security_check,用户名输入input的name必须为j_username,用户密码的输入input的name必须为j_password;

    c. 只要用户登录成功,并且支持cookie(会话cookie,跟session搭一块干活的那个cookie:JSESSIONID),那么这个用户名和密码就会被保存到当前用户的session中,后续只要用户的会话cookie存在并且服务器session未过期,则一直验证通过,否则验证失败,更多原理,请往下看;

    FROM验证的安全性基于cookie/session机制的安全性,并且可以配置通过SSL传输,因此安全性还是比较高的,至少比BASIC的安全性高了不止一个等级。之前写的一个小demo,手动实现BASIC验证(不是基于JSP/SERVLET提供的封装了的BASIC,而是其底层原汁原味id实现):点击打开链接

    d. 局限性。用户的身份验证,是基于服务器提供的用户角色,以tomcat为例,所有基于FORM的用户安全验证,都是基于tomcat user的安全验证。也就是说,能够通过用户验证的用户配置,都是属于tomcat_

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值