计算机教程 结构定制安全.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 下载 第5章 结构定制安全 政府机关不会给人们带来幸福,但能给人们提供创造幸福的机会。 —Winlliam Ellery Channing 第4章讨论了配置J a v a安全结构的几种可能性。本章进一步研究一些具体的定制例子。 5.1 创建新的许可权类型 回想一下, JDK 1.2 介绍了由抽象类确立的一种新的类型化、参数化的访问许可权 j a v a . s e c u r i t y. P e i m i s s i o n 。其他的许可权或者是P e r m i s s i o n类的子类。或者是 P e r m i s s i o n子类的 子类。所以一般情况下应该归入它们自己的包中。例如,表示文件系统访问的许可权位于 J a v a 的I / O包中,像j a v a . i o . F i l e P e r m i s s i o n 是j a v a . i o 。JKD 1.2 中其他新的许可权类包括: • java.net.SocketPermission用于对网络资源的访问。 • java.lang.RuntimePermission用于对运行系统资源的访问,如属性等。 • java.awt.AW T P e r m i s s i o n用于对窗口资源的访问。 换句话说,对于大多数的控制资源,包括对 J a v a属性和包的访问方法和参数时由新的许可权 类表示的。 应用程序可以自由地添加新种类的许可权,但必须注意的是:除非是正式发行,不管是 通过给像j a v a . l a n g . R u n t i m e P e r m i s s i o n 这样的类中添加新功能还是引入另外的关键字,没有人 能扩展内置于J D K 中的许可权,如果要创建一个新的许可权,建议采用如下例所示的步骤。 假设A B C公司的一位软件开发人员想要定制一个许可权来“看电视”。首要问题是:他是直接用 现有的P e r m i s s i o n对象,比如任何可能的R u n t i m e P e r m i s s i o n对象,还是需要一个定制的对象?假设想要 创建一个新的P e r m i s s i o n类,命名为c o m . a b c . P e r m i s s i o n,它扩展了抽象类j a v a . s e c u r i t y. P e r m i s s i o n (或它的 任一个子类) 。还需设计另外的新类c o m . a b c . T V P e r m i s s i o n,它扩展了c o m . a b c . P e r m i s s i o n。 public class com.abc.Permission extends java.security.Permission public class com.abc.TVPermission extends com.abc.Permission 必须确保在其他的方法中, i m p l i e s ( ) 方法得到正确的实现。如果包含有更复杂的 T V P e r m i s s i o n s ,例如c h a n n e l - 1 : 1 3或c h a n n e l - *,那么也许需要实现一个 TV PermissionCollection 对象,它知道如何处理这些语义学。接着,需要把这些许可权类包含进应用程序包中,以便 当应用程序需要它们的时候,类加载器能够找到它们。 然后,当核查一个许可权是否应该得到准许时,需要应用程序的资源管理代码来调用 A c c e s s C o n t r o l l e r 的c h e c k P e r m i s s i o n方法,使用com.abc.TVPermission 对象作为参数。 public void switchChannel(int channel) { com.abc.TVPermission tvperm = new

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档