仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 538|回复: 11
打印 上一主题 下一主题

[学习教程] 来看J2EE 探究者: 用JAAS和JSSE完成Java平安性

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net网页编程,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。
从初期所谓的Java沙箱到JDK1.4引进的强健的、全功效的平安系统布局,平安性一向是Java平台的基础组件。从当时到如今,Java言语的计划者收到了来自整体的大批关于平安的Java使用程序(大概企业情况)能够做甚么和不做甚么的定见,他们本人也增加了多少技能。
能够说跟着J2EEWeb使用程序平安系统布局的引进,我们不休从近10年的重复实验有所劳绩,现实也标明了这一点。J2EE平安框架由三个API构成:Java认证和受权服务(JAAS)、Java平安套接字扩大(JSSE)和Java加密扩大(JavaCryptographyExtension,JCE)。固然JCE是一个成心思和主要的API,可是它与我们所存眷的平安Web使用程序开辟的“三年夜项”DD认证、受权和传输DD其实不出格相干。以是在本月的专栏中我们将会合报告JAAS和JSSE。
JAAS和JSSE概述
JAAS供应了一种天真的、申明性的机制,用于对用户举行认证并考证他们会见平安资本的才能。JSSE界说了经由过程平安套接字层(SSL)举行平安Web通讯的一种全Java的机制。经由过程分离这两种手艺,可使我们的使用程序:
考证用户就是他大概她所传播鼓吹的谁人人(认证)。
包管同意他大概她会见所请求的资本(受权)。
经由过程平安收集毗连举行完全的信息互换(传输)。
如今,我们来看每个基本的功效组件。
用JAAS举行认证
JAAS创建在一种称为可拔出的认证模块(PluggableAuthenticationModule,PAM)的平安系统布局之上。PAM的系统布局是模块化的,这意味着它计划为能够经由过程互换模块,撑持从一个平安协定组件无缝地转换到另外一个协定组件。这个框架中界说优秀的接口使得无需改动大概搅扰任何现有的登录服务就能够到场多种认证手艺和受权机制。PAM系统布局能够集成局限普遍的认证手艺,包含RSA、DCE、Kerberos和S/Key,因此JAAS也能够集成这些手艺。别的,这个框架与基于智能卡的认证体系和LDAP认证兼容。
就像很多Java2平台手艺一样,JAASAPI界说了使用程序代码与将要实行营业逻辑的物理完成之间洁净的笼统。这个笼统层不必从头编译现有的使用程序代码就能够作为登录模块的运转时替换。出格是,使用程序写到LoginContextAPI,而认证手艺供应程序则写到LoginModule接口。在运转时,LoginContext将读取设置文件以断定应利用哪个(一些)登录模块对会见特定使用程序的用户举行认证。
JAAS所利用的认证计划以两种十分主要的实体为基本:principal和subject。实践被认证的人大概服务称为subject。principal是一个唯一的实体,好比团体大概组的名字、帐号、社会平安号大概相似的唯一标识。为了唯一标识一个subject(这是认证的关头部分),一个大概多个principal必需与这个subject相干联。最初,一个subject大概具有平安相干的属性,称为凭据(credential)。凭据能够是从复杂的暗码到庞大的加密密钥的任何工具。
使用程序经由过程实例化一个LoginContext对象入手下手认证历程。LoginContext查询一个设置文件以断定举行认证所利用的一种(大概多种)认证手艺和响应的一个(大概多个)LoginModule。一个十分复杂的LoginModule大概会提醒输出用户名和暗码并对它们举行考证。初级一点的大概会利用现有的操纵体系登录身份举行身份考证。实际上,乃至能够将一个JAASLoginModule构建成与指纹辨认器大概虹膜扫描仪交互。
<p>
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。
小女巫 该用户已被删除
沙发
发表于 2015-1-20 05:58:47 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
海妖 该用户已被删除
板凳
 楼主| 发表于 2015-1-21 15:49:14 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
若相依 该用户已被删除
地板
发表于 2015-1-30 20:35:36 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
变相怪杰 该用户已被删除
5#
发表于 2015-2-5 14:55:07 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
莫相离 该用户已被删除
6#
发表于 2015-2-7 00:59:56 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
小妖女 该用户已被删除
7#
发表于 2015-2-13 21:04:48 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
柔情似水 该用户已被删除
8#
发表于 2015-3-3 03:15:26 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
兰色精灵 该用户已被删除
9#
发表于 2015-3-5 11:19:02 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-3-8 10:40:26 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
因胸联盟 该用户已被删除
11#
发表于 2015-3-15 21:39:29 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
活着的死人 该用户已被删除
12#
发表于 2015-3-22 05:09:08 | 只看该作者
是一种使用者不需花费很多时间学习的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表