网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Web框架比较:Struts、Spring MV.
.Java网络编程之URI、URL研究(上.
.Java语言深入:C#与Java相似之处.
.Apache Tomcat 5.0.2x 的虚拟目录.
.Java类基础.
.关于java.util.regex包中新增字符.
.Java对Domino Objects的访问控制.
.使用Game API函数制作二维动作游.
.Struts的起源.
.理解cocoon.
.java的quoted-printable解码器源.
.屏蔽.NET自定义开发组件中的属性.
.Java对Domino Objects的访问 (2.
.java defunct产生的原因和解决办.
.使用AWT 将Graphics对象转换为Im.
.Java EJB容器的存取和实现.
.使用Ant和Weblogic开发EJB.
.如何学习java.
.Java Applet基础入门之数据类型.
.使用hibernate实现树形结构无限级.

论J2EE开发Web应用程序中的安全认证机制(1)

发表日期:2008-1-5


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

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

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

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

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

3、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资源。

就如基本的安全认证机制那样,在Web应用程序的部署描述符中,基于表单的认证不指定安全区域。也就是说,它不明确地定义用来认证用户的安全区域类型,这就会在它使用什么样的安全区域认证用户方面引起混淆。

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

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

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

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

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

3、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>


上一篇:简析J2EE应用程序数据库类设计模式 人气:565
下一篇:J2EE中XML配置文件的读取处理 人气:867
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐