J2EE的安全认证机制

实现Web应用程序的安全机制是Web应用程序的设计人员和编程人员必须面对的任务。在J2EE中,Web容器支持应用程序内置的安全机制。

Web应用程序的安全机制有二种组件:认证和授权。基于J2EE的Web容器提供三种类型的认证机制:基本认证、基于表单的认证、相互认证。由于能够对认证用户界面进行定制,大多数的Web应用程序都使用基于表单的认证。Web容器使用在Web应用程序的部署描述符中定义的安全角色对应用程序的Web资源的访问进行授权。

在使用基于表单的认证机制中,应用程序的设计人员和开发人员会遇到3类问题:

·基于表单的认证如何与数据库和LDAP等其他领域的安全机制协同工作。(这是非常必要的,因为许多组织已经在数据库和LDAP表单中实现了认证机制。)

·如何在Web应用程序的部署描述符(web.xml)中增加或删除军政府的授权角色。

·Web容器在Web资源层次上进行授权;应用程序则需要在单一的Web资源中执行功能层次上的授权。

尽管有许多与基于表单的认证有关的文档和例子,但都没有能够阐明这一问题。因此,大多数的应用程序都以自己的方式襀安全机制。

本篇文章说明了基于表单的认证如何与其他方面的安全机制,尤其是数据库中的安全机制协作的问题。它还解释了Web窗口如何使用安全角色执行授权以及应用程序如何扩展这些安全角色,保护Web资源中的功能。

基于表单的认证

基于表单的认证能够使开发人员定制认证的用户界面。web.xml的login-config小节定义了认证机制的类型、登录的URI和错误页面。

<login-config>

<auth-method>FORM</auth-method>

<form-login-config>

<form-login-page>/login.jsp</form-login-page>

<form-error-page>/fail_login.html</form-error-page>

</form-login-config>

</login-config>

登录表单必须包含输入用户姓名和口令的字段,它们必须被分别命名为j_username和j_password,表单将这二个值发送给j_security_check逻辑名字。

下面是一个该表单如何在HTML网页中实现的例子:

<form method="POST" action="j_security_check">
<input type="text" name="j_username">
<input type="password" name="j_password">
</form>

除非所有的连接都是在SSL上实现的,该表单能够透露用户名和口令。当受保护的Web资源被访问时,Web容器就会激活为该资源配置的认证机制。

为了实现Web应用程序的安全,Web容器执行下面的步骤:

1、在受保护的Web资源被访问时,判断用户是否被认证。

2、如果用户没有得到认证,则通过重定向到部署描述符中定义的注册页面,要求用户提供安全信任状。

3、根据为该容器配置的安全领域,确认用户的信任状有效。

4、判断得到认证的用户是否被授权访问部署描述符(web.xml)中定义的Web资源。

时间: 2024-12-04 02:53:55

J2EE的安全认证机制的相关文章

ASP.NET基于角色的窗体安全认证机制

asp.net|安全 说明:两个月前我刚学 ASP.NET, 在 codeproject.com 看到题目叫 Role-based Security with Forms Authentication 的文章,觉得很有帮助.当时就想翻译成中文.不过直接翻译实在没意思,这两天我参照 Heath Stewart的这篇文章,并且根据自己的理解,把它按照自己的想法和表达方式写成中文.附带上自己为这篇文章做的一个演示的web应用程序. 如果有理解错误的地方,欢迎来信指出或发表评论. 概要: ASP.NET

在Windows下通过密钥认证机制连接Linux服务器的方法

  SSH服务支持一种安全认证机制,即密钥认证.所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密. 通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难. ssh 的密钥认证就是使用了这一特性.服务器和客户端都各自拥有自己的公钥和密钥. 如何使用密钥认证登录linux服务器呢? 首先使用工具 PUTTYGEN.EXE 生成密钥对.打开工具

PHP的HTTP认证机制

PHP的HTTP认证机制因此该功能不适用于 CGI 版本.在 Apache 模块的 PHP 脚本中,可以用 header() 函数来向客户端浏览器发送Authentication Required信息,使其弹出一个用户名/密码输入窗口.当用户输入用户名和密码后,包含有 URL 的 PHP 脚本将会再次和预定义变量 PHP_AUTH_USER.PHP_AUTH_PW 和 AUTH_TYPE 一起被调用,这三个变量分别被设定为用户名,密码和认证类型.预定义变量保存在 $_SERVER 或者 $HTT

web安全认证机制知多少

    如今web服务随处可见,成千上万的web程序被部署到公网上供用户访问,有些系统只针对指定用户开放,属于安全级别较高的web应用,他们需要有一种认证机制以保护系统资源的安全,本文将探讨五种常用的认证机制及优缺点. Basic模式 HTTP协议规范中有两种认证方式,一种是Basic认证,另外一种是Digest认证,这两种方式都属于无状态认证方式,所谓无状态即服务端都不会在会话中记录相关信息,客户端每次访问都需要将用户名和密码放置报文一同发送给服务端,但这并不表示你在浏览器中每次访问都要自己输

MongoDB中使用的SCRAM-SHA1认证机制

介绍 SCRAM是密码学中的一种认证机制,全称Salted Challenge Response Authentication Mechanism. SCRAM适用于使用基于『用户名:密码』这种简单认证模型的连接协议. SCRAM是一个抽象的机制,在其设计中需要用到一个哈希函数,这个哈希函数是客户端和服务端协商好的,包含在具体的机制名称中.比如SCRAM-SHA1,使用SHA1作为其哈希函数. 前言 基于『用户名:密码』这种简单认证模型的协议中,客户端和服务端都知道一个用户名(username)

SHA-1被攻破了吗? PostgreSQL SCRAM-SHA-256 安全认证机制解救你来了

标签 PostgreSQL , 认证方法 , SCRAM-SHA-256 , scram , scram-sha-256-plus , SASL , Simple Authentication and Security Layer 背景 PostgreSQL的很多设计非常的工业化,比如开放了许多扩展接口(类型.操作符.索引.扫描.采样.数据库编程语言等). 另外还有一个,认证也是模块化的,比如你不喜欢md5的认证方法,可以随意更换认证模块,提高安全性. 20.3.1. Trust Authent

基于移的Agent的云计算身份认证机制研究

基于移的Agent的云计算身份认证机制研究 杨娜娜,王杨,陈付龙,黄亚坤,邓琨 针对当前云计算的安全需求,提出了一种适用于云计算环境下的身份认证方案.首先设计出适用于云计算身份认证场景的移动agent结构模型,然后给出了基于mobileagent的云计算安全认证策略.该方案引入了可信第三方机构对认证agent建立定量信任评估,每次进行认证前通过信任度的判断对认证过程进行控制:在认证完成后,又进一步引入了信任反馈评价机制.理论分析和原型系统的实现表明,提出的云计算认证方案具有一定的可行性和可用性.

基于Hadoop SLA认证机制实现权限控制

Hadoop集群上存储数据,同时基于MapReduce计算框架可以实现计算任务,那么无论是从数据保护的角度,还是从提交计算任务占用资源的角度来看,都需要存在一种权限管理与分配机制,能够很好地限制哪些人可以在HDFS上存储数据,哪些人可以利用集群的资源来处理特定的计算任务.当然,如果能够非常完美地解决这些问题是最好的.当前Hadoop本身提供的权限管理功能还不能满足普遍的需要,或者我们从Hadoop已有的一些简单或复杂的认证机制选择适合自己所在组织机构需要的,或者我们在外围开发一些权限管理系统与H

地方团购导航引入认证机制 促进自身品牌形象

中介交易 SEO诊断 淘宝客 云主机 技术大厅 从去年3月4日国内第一家团购网站美团网上线至今,团购已经在中国风生水起了一年有余.随着团购行业在国内不断的成熟,特别是在Groupon中文站高朋网上线以后,国内已经形成了以高朋网.拉手网.美团网等几家巨头垄断,中小团购站点参差不齐,团购市场严重饱和的局面.一方面,团购巨头率先抢占市场,凭借自身资源优势垄断整体市场份额,中小团购站千团一面缺乏创新,难以在出头,洗牌一直被业内预测,但一直未真正来临.另一方面,不管是大型团购网站,还是中小团购网站,都多多