利用JAAS实现鉴别.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用JAAS实现鉴别.doc

利用JAAS实现鉴别   摘要: JAAS作为java安全框架的一部分,提供了灵活和可伸缩的机制使鉴别模块能以一种通用的、可配置、可插拔的方式对java程序进行鉴别;同时给出了一种基于JAAS框架的鉴别模块的实现。   Abstract: As a part of security framework, JAAS provides flexible and scalable mechanism to authenticate java programs. In this paper, we also provide an implementation of authentication based on JAAS.   关键词: JAAS;鉴别;票据;服务提供者接口   Key words: JAAS;authentication;ticket;sevice provider interface   中图分类号:TP39文献标识码:A文章编号:1006-4311(2010)28-0162-02      0引言   随着计算机在信息处理中的普遍使用,显然需要自动化的工具保护存储在计算机中的文件和其它信息,安全性作为对资源进行保护和验证的机制,也随着计算机的发展显得愈来愈重要。有很多种安全模型可以用来对数据提供不同程度和方向的保护,这些安全模型使用加密、访问控制、鉴别或其他安全方法对资源进行保护。鉴别就是通过对一个实体的身份进行判别的过程,鉴别往往与授权结合起来使用,只有经过鉴别后的用户才能给予授权,因为在向用户开放保护资源的访问权限之前,必须对用户的身份进行确认。Sun公司提供的JAAS(Java Authentication Authorization Service)就提供了灵活和可伸缩的机制来使鉴别模块可以以一种通用的、可配置、可插拔的方式来对java程序进行鉴别[1,2]。   1基于JAAS的鉴别应用框架   JAAS的鉴别应用框架如图1所示,它通过在应用程序和底层的验证和授权机制之间加入一个抽象层,使抽象层能独立于平台,在底层的验证和授权机制,只是提供了一个接口:服务提供者接口(Service Provider Interface,SPI)来给鉴别模块进行调用。这样,应用程序级的代码只要处理LoginContext。由LoginContext调用下面一组实现服务提供者接口的动态配置的LoginModules模块,再由LoginModule模块来调用底层的验证和授权机制进行鉴别。   JAAS提供了一些LoginModule的参考实现代码,比如JndiLoginModule、NTLoginModule。开发人员也可以自己实现LoginModule,但必须实现底层的服务提供者接口(Service Provider Interface,SPI),我们的鉴别模块即是如此。   2JAAS应用框架牵涉到的几个对象   在JAAS框架中,牵涉到一些对象[3]:   CallbackHandler和Callback对象可以使LoginModule对象从系统和用户那里收集必要的验证信息,它在用户端收集用户信息,同时又独立于实际的收集信息过程,以一种系统内部加密的方式传到鉴别模块处。   Principal对象代表了鉴别对象的身份。每个鉴别对象大多都有若干个身份,如用户名、身份证号和Email地址都可以作为用户的身份标识,所以拥有多个身份名称的情况在实际应用中是非常普遍的。   Subject类代表了一个验证实体,它可以是用户、管理员、Web服务、设备或者其他的过程。该类包含三中类型的安全信息。   身份(Identities):由一个或多个Principal对象表示;公共凭证(Public credentials):例如名称或公共秘钥;私有凭证(Private credentials):例如口令或私有密钥。   凭证对象并不是一个特定的类或接口,它可以是任何对象。凭证中可以包含任何特定安全系统需要的验证信息,例如标签(ticket)、密钥或口令。Subject对象中维护着一组特定的私有和公有的凭证,这些凭证可以通过getPrivateCredentials( )和getPublicCredentials( )方法获得。这些方法通常在应用程序层中的安全子系统中被调用。   3利用JAAS的鉴别过程   在应用程序中使用JAAS鉴别涉及到以下几个步骤[4,5,6]:①创建一个LoginContext的实例。②为了能够获得和处理验证信息,将一个CallBackHandler对象作为参数传送给LoginContext。③通过调用LoginContext的login( )方法来进行验证。④通过使用lo

文档评论(0)

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

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档