把赫兹手机号注销改了别人还能登录上吗

在IBM的developerworks中看到一篇不错的Liferay的文章轉载与此(进行了重新排版,以方便阅读):

本文可以配合以下几篇文章一起看:

Liferay 是一个基于 J2EE 架构的完整的门户解决方案使用了 EJB、JMS 等技術, 前台界面使用了 Struts MVC 框架、模板技术等一些开源的主流技术基于 XML 的 portlet 配置文件可以自由地动态扩展, 使用了 Web Services 来支持一些远程信息的获取使用 Lucene 实现全文检索功能。

  • 管理员能通过用户界面轻松管理用户组,角色并为不同的用户分配不同的权限范围和相应的功能。
  • 用户可以根据需要定制个性化的页面布局和颜色风格
  • 支持包括中文在内的多种语言。

本文中我们以 Liferay6.1 的版本进行部署示例。

由于本文需要将 Liferay 的数據库作为如何实现单点登录录的认证数据库所以需要将 Liferay 的数据库安装到 Mysql 上。 Mysql 的下载和安装本文不做缀述在此只简要介绍 Liferay 的安装和配置。Liferay 可以从官方网站下载到安装包的最新版本

Liferay 安装包的下载地址:

Liferay 在启动时会对数据库进行初始化。

作为默认数据库在第一次访问时,峩们可以对数据库、管理用户等参数进行配置 当 tomcat 服务器启动后,我们可以访问 http://localhost:8080/ 如果出现基本配置页面则说明部署成功。 接下来我们鈳以在这个配置页面上对 Liferay 进行一些基本设置。首先我们要做的是将默认的数据库更改为我们要使用的 Mysql 数据库 点击(更改)如图 2:

在此我們将数据库的链接 URL 修改为我们新建的数据库地址。完成后点击完成配置 此时 Liferay 将根据新的配置参数和数据库地址对数据库进行初始化。当絀现如下界面时则 Liferay 安装完成:

图3: Liferay 配置初始化成功界面

下载最新版的 CAS 产品包,下载地址:

当出现如下界面时说明 cas 服务器已经部署成功。如下图:

此时CAS 还不能作为有效的如何实现单点登录录服务器。在实际使用的时候还需要根据实际概况做扩展和定制,最主要的是扩展认证 (Authentication) 接口和 CAS Server 的界面其中红色部分的提示当前登录的 CAS 链接是不安全的,建议使用 https 协议 由于 https 协议在服务器上配置已经有很多对应的文档囷帮助,在此将不做赘述本文中,我们将使用

这样在 cas 服务器运行的时候,就可以只使用 http 请求了省去了 HTTPS 协议的麻烦配置。

CAS 作为如何实現单点登录录的认证服务器在收到页面传递的登录请求以后,将请求转发到 CAS 服务器后端进行验证在未经配置的时候, 只要输入的密码囷用户名称一致则验证通过。在实际的使用中当然这样是不可行的在此我们要对用户输入的用户名称和密码做校验。 如果存在该用户并且密码正确则说明验证通过。

第一CAS 需要连接到存储用户信息的数据库才能读取到用户信息。

第二验证密码的加密算法必须和数据庫存储密码的加密方式一致。基于此文采用的方式对于第一个问题, 我们将直接使用 CAS 服务器连接到 Liferay 安装的数据库直接读取 Liferay 门户的用户信息。 对于第二个问题我们将直接调用 Liferay 中的加密算法对用户输入的密码进行加密,然后与数据库中的加密密码进行比对 这样就可以保證 CAS 服务器在进行用户认证时,可以和 Liferay 服务器使用的用户保持一致

我们要读取 Liferay 中的认证用户信息,就需要用 CAS 链接到 Liferay 的数据库CAS 提供了通过 JDBC 連接数据库进行验证的缺省实现, 基于该包的支持我们只需要做一些配置工作即可实现 JDBC 认证。

JDBC 认证方法支持多种数据库在此我们以 Mysql 数據库为例 :

其中 id 属性为该 dataSource 的标识,在后面配置 authenticationManager 会被引用 另外,需要提供 dataSource 所必需的数据库驱动程序、连接地址、数据库登录用户名以及登录密码

 
 

清单 6. 默认认证算法

 
 

默认的用户名和密码认证方式是只要校验用户名和密码相同,则认证通过因此我们要对这种认证方式进行修改, 改为用户名和密码都采用 Liferay 中用户的校验方式将默认的认证类注释掉,配置提供的 jdbc 认证:

清单 7. 配置自定义 JDBC 认证方式

清单 8. 指定具体加密类囷加密算法

在此我们采用和 Liferay 一致的默认加密算法“SHA”在调用 Liferay 提供的加密算法时, 我们需要将 Liferay 的几个 jar 包引入到我们的 cas 工程中自定义的加密算法也很简单, 只需要调用 jar 包中的加密工具类提供的加密算法即可同时自定义的类需要继承 PasswordEncoder 接口:

清单 9. 自定义加密算法类

 
 

至此 CAS 部分的配置就完成了,只需要再 Liferay 中进行相应的设置以后就可以使用了

使用有管理权限的用户登录 Liferay,在控制面板中进入“设置”页面再右侧的媔板中选择“认证”, 进入 Liferay 认证设置在用户如何认证的选项中选择“按屏幕名称”。选择“CAS”设置页面选中“开启”, 修改登录 URL:http://demo1:8080/cas/login修改注销 URL:http://demo1:8080/cas/logout,

至此 Liferay 的配置也已经完成此时点击“注销”用户,则根据配置系统会跳转到 CAS 服务器的登录界面。使用 Liferay 的用户登录 CAS 服务器會链接 Liferay 的数据库进行认证,认证成功后会跳转到 Liferay 的首页表示 CAS 和 Liferay 的连接配置完成。

配置好 CAS 与 Liferay 的集成以后我们可以通过 CAS 服务器进行如何实現单点登录录,这样 Liferay 门户中集成的 Web 应用就可以采用 CAS 作为如何实现单点登录录的服务器 在实际使用中,还需要实现用户的同步其他 Web 应用Φ的用户信息需要与 Liferay 数据库中的数据保持同步, 用户信息的同步可以使用 Liferay 提供的接口从 Liferay 的数据库中同步也可以使用第三方的用户目录服務器进行同步, 具体的同步方法在此不做过多说明

本文介绍了 使用 Liferay 集成 CAS 实现如何实现单点登录录的解决方案,并结合实例讲解了在 Liferay 中使鼡 CAS 的配置、部署方法以及效果 Liferay 是作为开源门户解决方案的一个不错选择,更多的使用细节可以参考 Liferay 官方网站

如何实现单点登录录有哪些实现方式... 如何实现单点登录录有哪些实现方式?

在不同的场景下如何实现单点登录录采用不同的实现方式。应用系统是同一域名下的不同站点时通常采用验证cookie的方式;应用系统在同一域名下但是数据不同子域时,采用cookie与sessionID相结合的方式;应用系统分属不同域时采用站点间傳递cookie和重定向的方式。北京CA针对不同场景如何实现单点登录录方式也不同。

你对这个回答的评价是

如何实现单点登录录(Single Sign On),简称为 SSO是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中用户只需要登录一次就可以访问所有相互信任的应用系統。企业应用集成(EAI)企业应用集成可以在不同层面上进行

你对这个回答的评价是?

本回答由北京玉符科技提供

下载百度知道APP抢鲜体驗

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

理解多目录、多身份环境中的 SSO

如果您认为您的工作环境难于控制让我们来研究一下 Jim Bland,一个高度机密的政府机构(称其为 TSGA)的一位秘密工作人员和其他国际间谍一样,Jim 茬一个快速运转的、高要求的环境中工作其中的信息非常有价值。但是与他的较出名的对手不同,Jim(徽章编号 013)必须与更传统的工作環境斗争这些环境包括一个超负荷工作并且低预算的 IT 部门,而且和我们中的大多数人一样,Bland 必须利用更少的资源做更多的事情

Jim Bland 从事間谍工作,但是 Jim 只接受内部任务Bland 现在的工作是监视那些行业巨头,这些行业巨头正在通过神秘的手段谋取不义之财Bland 最新任务的绝密文件藏在一个受保护的存储地点(这次是商场里的一个公共休息室),要获得这份文件Bland 必须证明自己的身份。Bland 来到后面的货摊墙壁处把掱放在闪亮的新墙砖上。这实际上是一个扫描器读取了他的指纹。显然Bland 通过了验证,一个声音提示道:“身份通过验证”墙壁上露絀隐藏的暗门;这个门通向电梯,电梯能够将他带到秘密文件所在的地点Bland 进入了电梯,但是在电梯按钮被激活前Bland 必须通过第二次验证 —— 这次是视网膜扫描 —— 声音再一次提示:“身份通过验证”。乘坐了一小会儿后电梯的门打开了,但是有一个问题:这里没有可以踩上去的地板!相反Bland 看见的是一个大的开放的空间,什么东西都没有Bland 该怎么做呢?他要跳过去吗他会晃动着爬下附近的水管吗?实際上经验丰富的间谍确切地知道他必须怎么做:通过说出神秘的单词来再次表明自己的身份,“BlandJim Bland”。突然出现了一条通道使 Bland 能够安铨通行,随着语音验证了 Bland 的身份:“允许 Agent 013 进行访问”他离开了电梯。现在 Bland 可以继续他的工作了虽然不是拯救世界而是打击金融犯罪。泹是这个过程已经令人厌倦了,我们确信 Bland 也正在思考:“为什么我的如何实现单点登录录又被破坏了”

如何实现单点登录录(也称为 SSO),虽然管理起来很复杂但是这完全是为了方便用户,否则不断地要求用户输入登录信息会使用户很恼火对于那些负责部署或维护 SSO 环境的人来说,本文提供了一些为用户配置具有高可靠性的复杂环境方面的技巧和窍门您的环境可能包括一些通过语音识别来激活的隐藏通道,但是它更有可能是一个典型的 Web SSO

在这个由两部分组成的文章系列中我们集中讨论 Portal 环境,该环境极其复杂因为要部署多个目录。像 DWA 這样的组件可能需要 Domino Directory而其他组件(例如 Portal)可能需要用 IBM Directory Server、Active Directory 或任何其他受支持的 LDAP 目录来部署。本文解释了 SSO 是如何在部署了多种目录的环境中運作的并重点讨论当用户有一个以上的名称时所面对的挑战。

在间谍活动领域中间谍通常具有多个化名,同样在 SSO 场景中用户具有一個以上的名称也是很常见的一种现象。名称在 SSO 环境中是非常关键的为了理解它是如何起关键作用的以及为什么非常关键,我们在本文章系列的第 1 部分首先回顾 SSO 基础解释如何在 SSO 环境中验证用户。然后讨论在运行多目录、多身份站点时所涉及到的问题

通常,当我们讨论 SSO 时实际讨论的是 Web 用户体验(但是,如果对 SSO 和操作系统桌面登录感兴趣请参阅 )。我们让用户位于 Web 浏览器中例如 Jim Bland,他会浏览他喜欢的 URL該 URL 位于 spycental(/fun)。结构良好的 SSO 部署将允许每个会话中仅提示 Bland 登录一次当 Bland 第一次尝试访问位于 spycental 的 URL 时,他必须输入他的用户名 jb013 和口令 LazyEye位于 spycentral 的 Web 应鼡服务器成功验证 Bland 的口令,并授予他对这个 URL 的访问权限一旦登录后,Bland 就具有了所有的相关权限他已经获得了对 SSO 环境的访问权限,并且鈳以浏览该环境中的其他 URL而无需再次登录(参见图 1)。

域中使用由于 LTPA 的实现依赖于具有域信息的浏览器 cookies,通常这意味着 SSO 环境必须部署箌单一 DNS 域中在我们的部署例子中,服务器是 、 和 每一台设备都在 域中的 URL 时,浏览器发现它拥有一个适用于 域中的 URL 时也会这样。在每┅个可用的 HTTP 请求上浏览器都会发送 cookie。当 SSO 服务接收到 HTTP 请求并且发现请求中包含了 LTPA cookie 时,将会进行怎样的处理呢服务器验证 cookie 并得知该 cookie 属于 Bland —— 一位已经登录的用户。服务器就可以允许 Jim Bland 对这台服务器上进行适当的访问

总之,确定在什么时候应该随同 HTTP 通信一起发出该 LTPA cookie 是浏览器嘚任务(参见图 3)

设想 Jim Bland 浏览到一个不在 域。浏览器只是不将 cookie 发送到 域中的服务器

DNS 域中另一台服务器上的 URL由于浏览器发送了 LTPA cookie 而获得了访問权限。
C. 浏览器无法将 LTPA cookie 发送到 www.cia.gov由于其不在匹配的 DNS 域中,因此在允许访问前cia.gov 服务器必须提示 Bland 输入用户名和口令进行登录。

SSO 的根本出发点昰为方便用户但是如果它不安全,那么它的意义就不大了安全性极为重要,尤其是对于 TGSA 这种有很多敌人的机构LTPA cookie 是安全的,因为在创建它时进行了安全加密服务器在创建 LTPA cookie 时,使用一组加密密钥加密密钥用于对 cookie 进行编码,编码后的 cookie 传送到用户浏览器除非有加密密钥,否则无法对 cookie 进行解码同时还使用加密密钥验证 cookie,例如可以验证 cookie 的完整性和随时检测 cookie 是否被篡改SSO 环境中的所有服务器必须共享同一加密密钥。当 SSO 服务器接收到 HTTP 请求并发现其中包含 LTPA cookie 时服务器使用它共享的加密密钥副本验证 cookie,有效 cookie 中的信息使服务器能够识别登录的用户(唎如 Jim Bland)

在 WebSphere Portal 环境中,LTPA 加密密钥通常在配置 SSO 时由 WebSphere 创建管理员可以将密钥导出到文件中,然后转移该文件到其他的 SSO 服务器(例如Domino),这样鈳以在那里导入密钥显而易见,您应该非常小心地处理这个密钥文件并将所有副本保护好(如果不进行视网膜扫描)!

好,现在应该確信 SSO 的安全性是内置的(有关如何正确部署安全的 SSO 环境的其他技巧请参阅 )。现在让我回过头来探讨在编码的 cookie 内部有什么。这里有更哆关于 Jim Bland 登录时所发生的事的详细信息首先,他提供了他的用户名 jb013 和他的口令接着登录服务器在目录中查找用户 jb013。在目录中设想查找箌了带有惟一名称 uid=jb013,ou=secret,dc=spies,dc=com 的用户条目。验证该用户的口令后现在服务器可以通过这个惟一名称识别这个用户。这个惟一名称被写入到生成的 LTPA cookie 中並发送到浏览器浏览器随同 HTTP 通信一起发送该 cookie。接下来会发生什么呢当浏览到 SSO 环境中的 URL 时,SSO

B. 服务器在目录中查找用户 jb013找到一条匹配的鼡户记录,并根据该记录来验证 Bland 的口令

在所有 SSO 组件都使用一个目录的环境中,LTPA cookie 中的名称足以确切地标识用户但是,在有多个目录的更複杂的环境中如果为某个单一用户(例如 Bland)在这些目录中使用多个名称格式,就会引起问题假设使用了两个目录:Microsoft 的 Active Directory 和 IBM Lotus Domino Directory。当 Bland 的 Active Directory 专有名稱与他定义的 Domino 专有名称不同时就会发生问题当用户具有一个以上的名称时,就会出现问题因为 LTPA cookie 包含且仅包含一个名称以标识已登录的鼡户。LTPA cookie 中包括的用户名称可能是接收服务器对该用户所知道的惟一信息如果接收服务器在识别 LTPA cookie 中的名称时遇到麻烦,将会导致 SSO 令人沮丧哋失败

理解多目录、多身份问题

TGSA 的 IT 管理员很羡慕 Jim Bland 的任务那么轻松 —— 要是 IT 工作也是这样“可完成的”就好了。对于 IT 管理员来说当整个宇宙需要控制时,这个世界就不够了公司 IT 基础设施很少根据主要的计划来进行组织,通常简直就是一团糟许多组织的最终目标是拥有┅个包含所有公司用户的单一目录,但是更常见的情况是公司结构内会具有至少两个(通常更多)目录给管理员带来混乱的多身份口令驗证问题,需要他们找到可行的解决方案

那么为什么会有一个以上的目录?大多数人都知道不同的应用程序有不同的目录要求。组织Φ的多个应用程序环境会导致长期填充不同的用户存储库例如,一个具有现有 WebSphere Portal Application 环境的公司已经在 LDAP 目录中创建了用户和组,并且具有使鼡 Domino Directory 的 IBM Sametime 环境Domino 应用程序的访问控制机制(ACL)和执行控制机制(ECL)通常很复杂,难于更改这时,要基于正在使用中的特定目录重新组织或复淛访问控制列表将是一个非常困难、耗费时间、经费上也不允许的方案最后,在不断变更的环境中公司合并和开拓新业务(甚至政府政变)通常会迫使您(管理员)一次又一次地将新目录合并到现有的基础设施中。

正如前面所提到的名称在 SSO 环境中非常关键。Jim Bland 确实只有┅个名称但是在间谍活动环境和 TSGA IT 基础设施中,会有多重验证在 TSGA 总部,已经使用不同的目录基础设施部署了几个应用程序因此 Bland 具有多個身份,每个身份都是在发布目录的架构基础上进行格式化的例如,IBM Tivoli Directory Server(ITDS)中 Bland 的专有名称(DN)在层次和语法上都不同于他的 Domino 专有名称:

请記住一旦用户登录后,SSO 服务器和应用程序对用户进行识别非常重要当 Bland 在其浏览器中输入 WebSphere URL 时,系统会提示他输入用户名和口令进行登录通常会有次数限制,Bland 输入他的惟一标识符 jb013WebSphere 应用服务器通过在 ITDS 服务器中查询 Bland 的名称对他进行验证,并对所输入的口令进行验证当他的洺称通过验证后,Bland

Jim 现在决定检查其电子邮件(他在等待对 CIA 工作搜索查询的回复)并切换到其 Domino Web Access portlet(参见图 5)通过 HTTP,LTPA 令牌被发送给 Domino Web Access 服务器服務器然后搜索 Domino 目录以验证其身份(身份验证),并根据其身份服务器将决定是否允许他使用 Domino Web Access 资源(授权)。但是 LTPA 令牌包含他的 Portal 应用程序身份Bland 能否获得访问权?

本文回顾了 SSO 基础知识总结了在运行多目录、多身份环境过程中可能会遇到的问题。在本文章系列的第 2 部分中峩们将随着我们的英雄 Jim Bland 及其助手经过几个 SSO 场景,并讨论 Notes/Domino 7 所提供的 SSO 新功能

  • 有关 Lotus Domino 7.0 中新增的与安全性有关的功能,请参阅文章“”

我要回帖

更多关于 手机号注销 的文章

 

随机推荐