快速业务通道

J2EE表现层设计思考 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
些部分

根据用户的角色,视图的某部分可能不显示。例如,一个经理在收看管理信息时,他可以访问到其员工的子视图,而作为一个员工,他只可以看到自己组织的信息,而不可以访问其它信息,如例子3.2所示。

例子3.2 根据用户的角色,部分的视图不显示

<%@ taglib uri="/WEB-INF/corej2eetaglibrary.tld" prefix="corePatterns" %> <HTML> . . . <corePatterns:guard role="manager"> <b>This should be seen only by managers!</b> <corePatterns:guard/> . . . </HTML>

根据系统的状态或者错误情形不显示部分的视图

根据系统的环境,显示的规划可以被修改。例如,如果用户使用的是一个单CPU的硬件设备,那么使用多个CPU的部分设备就可以不显示。

根据配置控制资源访问

要限制某个客户直接访问一个特别的视图,你可以配置表现层只有通过内部的资源才可以访问到这些资源,例如一个使用RequestDispatcher的servlet控制器。此外,你还可以使用Web容器中内置

的安全技术,根据servlet2.2或者以后的规范。安全限制被定义在称为web.xml的配置描述文件中(deployment descriptor)。

basic和form-based的认证方法在Servlet规范中也有描述。在此我们不打算重复这个规范,你可以到以下网址去查看当前规范的细节(http://java.sun.com/products/servlet/index.html)。

你已经明白了加入安全限制到你的应用时会有什么用处,我们简要讨论了这个问题并且介绍了如何通过配置令它和all-or-nothing保护相关。最后,我们描述了一个简单和常用的方法作为all-or-nothing保护,以限制一个资源的访问。

J2EE表现层设计思考(4)

时间:2010-07-08

通过安全限制保护资源

应用或许被配置在一个安全限制中,而这个安全限制允许使用编程的方法根据用户的角色来控制访问。资源可以被某些角色的用户访问,并且禁止其它的角色访问。另外,某个视图的一部分也可以根据用户的角色来限制访问。如果某些资源完全禁止全部的直接浏览器请求,例如上面all-or-nothing情景中提到的一样,那么这些资源可以只允许一些安全角色访问,而这些安全角色不分配给任何一个用户。这样只要不分配这个安全角色,那么以这种方式配置的资源将禁止所有的浏览器直接访问。例子3.3就是一个web.xml配置文件的一部分,它定义了一个安全的角色以限制直接的浏览器访问。

角色的名字是“sensitive”,受限制资源的名字是sensitive1.jsp, sensitive2.jsp和sensitive3.jsp。除非一个用户或者组被分配到“sensitive”角色,否则这些客户都不可以直接访问这些JSP页面。不过,由于内部的请求并不受这些安全的限制,一个初始时由某servlet控制器处理的请求将会导向到这些受限制的页面,这样它们就可以间接访问这些JSP页面。

最后,要注意的是,不同厂家的产品在实现Servlet2.2版本的规范时,在这个方面有些不兼容的现象。不过支持Servlet2.3的服务器则没有这个兼容性的问题。

例子 3.3 通过不分配安全角色提供All-or-Nothing控制

<security-constraint> <web-resource-collection> <web-resource-name>SensitiveResources </web-resource-name> <description>A Collection of Sensitive Resources </description> <url-pattern>/trade/jsp/internalaccess/ sensitive1.jsp</url-pattern> <url-pattern>/trade/jsp/internalaccess/ sensitive2.jsp</url-pattern> <url-pattern>/trade/jsp/internalaccess/ sensitive3.jsp</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>sensitive

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号