三九宝宝网宝宝教育写作范文

什么是JAAS什么是JAAS以及灵活的Java安全机制

01月03日 编辑 39baobao.com

[什么赛车游戏能看见方向盘要详细点]目前竞速游戏车内视角大多都能看见方向盘和手。推荐几个: 超级房车赛:起点。PC上最好玩的竞速游戏,没有之一,手感最好,上手比较难 科林麦克雷拉力赛:尘埃2和3。画面不错,手感偏滑,娱...+阅读

Java Authentication Authorization Service(JAAS,Java验证和授权API)提供了灵活和可伸缩的机制来保证客户端或服务器端的Java程序。Java早期的安全框架强调的是通过验证代码的来源和作者,保护用户避免受到下载下来的代码的攻击。 JAAS强调的是通过验证谁在运行代码以及他/她的权限来保护系统面受用户的攻击。它让你能够将一些标准的安全机制,例如Solaris NIS(网络信息服务)、Windows NT、LDAP(轻量目录存取协议),Kerberos等通过一种通用的,可配置的方式集成到系统中。

你是否曾经需要为一个应用程序实现登录模块呢?如果你是一个比较有经验的程序员,相信你这样的工作做过很多次,而且每次都不完全一样。你有可能把你的登录模块建立在Oracle数据库的基础上,也有可能使用的是NT的用户验证,或者使用的是LDAP目录。 如果有一种方法可以在不改变应用程序级的代码的基础上支持上面提到的所有这一些安全机制,对于程序员来说一定是一件幸运的事。

现在你可以使用JAAS实现上面的目标。JAAS是一个比较新的的Java API。在J2SE 1。3中,它是一个扩展包;在J2SE 1。 4中变成了一个核心包。在本文中,我们将介绍JAAS的一些核心概念,然后通过例子说明如何将JAAS应用到实际的程序中。本文的例子是根据我们一个基于Web的Java应用程序进行改编的,在这个例子中,我们使用了关系数据库保存用户的登录信息。

由于使用了JAAS,我们实现了一个健壮而灵活的登录和身份验证模块。 客户端和服务器端的JAAS 开发人员可以将JAAS应用到客户端和服务器端。在客户端使用JAAS很简单。在服务器端使用JAAS时情况要复杂一些。目前在应用服务器市场中的JAAS产品还不是很一致,使用JAAS的J2EE应用服务器有一些细微的差别。 例如JBossSx使用自己的结构,将JAAS集成到了一个更大的安全框架中;而虽然WebLogic 6。

x也使用了JAAS,安全框架却完全不一样。 现在你能够理解为什么我们需要从客户端和服务器端的角度来看JAAS了。我们将在后面列出两种情况下的例子。 为了使服务器端的例子程序更加简单,我们使用了Resin应用服务器。 核心JAAS类 在使用JAAS之前,你首先需要安装JAAS。在J2SE 1。4中已经包括了JAAS,但是在J2SE 1。3中没有。如果你希望使用J2SE 1。

3,你可以从SUN的官方站点上下载JAAS。 当正确安装了JAAS后,你会在安装目录的lib目录下找到jaas。jar。你需要将该路径加入Classpath中。(注:如果你安装了应用服务器,其中就已经包括了JAAS,请阅读应用服务器的帮助文档以获得更详细的信息)。在Java安全属性文件java。 security中,你可以改变一些与 JAAS相关的系统属性。该文件保存在/lib/security目录中。

在应用程序中使用JAAS验证通常会涉及到以下几个步骤: 1。 创建一个LoginContext的实例。 2。 为了能够获得和处理验证信息,将一个CallBackHandler对象作为参数传送给LoginContext。 3。 通过调用LoginContext的login()方法来进行验证。 4。 通过使用login()方法返回的Subject对象实现一些特殊的功能(假设登录成功)。 下面是一个简单的例子: LoginContext lc = new LoginContext("MyExample"); try { lc。

login(); } catch (LoginException) { // Authentication failed。 } // Authentication successful, we can now continue。 // We can use the returned Subject if we like。 Subject sub = lc。getSubject(); Subject。doAs(sub, new MyPrivilegedAction()); 在运行这段代码时,后台进行了以下的工作。 1。 当初始化时,LoginContext对象首先在JAAS配置文件中找到MyExample项,然后更具该项的内容决定该加载哪个LoginModule对象。

2。 在登录时,LoginContext对象调用每个LoginModule对象的login()方法。 3。 每个login()方法进行验证操作或获得一个CallbackHandle对象。 4。 CallbackHandle对象通过使用一个或多个CallBack方法同用户进行交互,获得用户输入。 5。 向一个新的Subject对象中填入验证信息。 我们将对代码作进一步的解释。但是在这之前,让我们先看代码中涉及到的核心JAAS类和接口。

这些类可以被分为三种类型: 普通类型 Subject,Principal,凭证 验证 LoginContext,LoginModule,CallBackHandler,Callback 授权 Policy,AuthPermission,PrivateCredentialPermission 上面列举的类和接口大多数都在javax。 security。auth包中。在J2SE 1。4中,还有一些接口的实现类在com。sun。security。auth包中。 普通类型:Subject,Principal,凭证 Subject类代表了一个验证实体,它可以是用户、管理员、Web服务,设备或者其他的过程。

该类包含了三中类型的安全信息: 身份(Identities):由一个或多个Principal对象表示 公共凭证(Public credentials):例如名称或公共秘钥 私有凭证(Private credentials):例如口令或私有密钥 Principal对象代表了Subject对象的身份。 它们实现了java。security。Principal和 java。io。Serializable接口。在Subject类中,最重要的方法是getName()。该方法返回一个身份名称。

在Subject对象中包含了多个Principal对象,因此它...

以下为关联文档:

开早会有什么小游戏可以活跃下气氛振奋精神的1、吹乒乓球乒乓球放在酒瓶的口上,主持人问问题,由回答问题的人通过答话把乒乓球从酒瓶上吹下 2、箩卜蹲将参与者分成四堆以上,每堆人手牵着手围成一圈,给每堆人以颜色或数字命...

早会活跃气氛小游戏有什么游戏 一、抱团打天下 规则: 1、让全体人员肩膀搭肩膀围成一圈,或站成一排。 2、主持人站在台中。 3、公布游戏规则,比如我说5,大家要迅速凑成5人5人的组合,这5个人要抱得紧紧的,不...

晨会小游戏有什么1.拍七令从1-99报数,但有人数到含有“7”的数字或“7”的倍数时,不许报数,要拍下一个人的后脑勺,下一个人继续报数。如果有人报错数或拍错人则罚 2.由主持人先读出两句含特定字...

质量成本管理的原则和程序是什么1、质量成本管理应当遵循的原则: 1。以寻求适宜的质量成本为目的。任何企业都有与其产品结构、生产批量、设备条件、管理方式和人员素质等相适应的质量成本,开展质量成本管理...

什么是质量成本管理简单地说,质量管理分为三个阶段与层次:检验阶段、全员质量控制(TQC)、全员质量管理(TQM)。 检验阶段使用大量的检验,包括进料检验、生产过程中的巡检、末道检验、出厂检验、驻供应...

纯黑解说的GTA5背景音乐叫什么tha dogg pound-what would U do kelly rowland- work weat end girl still D。R。E bad apple 红莲の弓矢 军火女王 linkin park- new divide BvB- in the end Burque of d...

有首歌的歌词里面好像有什么远方里然后又什么遇见你似的任贤齐 - 匆匆专辑:飞鸟匆匆任贤齐词:Choi, Jun-Young 曲:Lim, Ki-Hun 编辑:叶泽生当时我什么都还不懂以为有了梦就要冲没有谁能劝的动我谁说什么都没用哪里风最大哪里去一切都...

口腔门诊护理管理的工作内容是什么1 建立健全门诊预防感染护理管理组织 成立由科护士长、护士长、感控护士组成的三级门诊医院感染护理管理组织,各级管理人员职责明确,实行逐级管理。严格把关。 2 定期组织医院...

JA是什么意思JA是青年成就组织的缩写。 JA的全称是Junior Achievement是全世界最大、发展最快的非营利教育组织。它成立于1919年,总部设在美国科罗拉多州,每年有1000多万青少年接受JA的课...

推荐阅读
图文推荐