单点登录是指用户在仅通过一次身份验证后,可以在多个应用程序中自由切换。

这意味着用户只需要一次登录信息,只要他点击指向其他应用程序的链接,安全信息就会自动从一个应用程序传递到另一个应用程序,用户就不会再输入登录信息了。当然,所有这些参与的应用程序都应该配置一个单点登录。

PeopleSoft应用有3种配置单点登录的方法:

1、PeopleSoft Only【PS_TOKEN Cookie】

2、PeopleSoft and Oracle Apps

3、PeopleSoft and Kerberos

本文中仅讨论‘PeopleSoft Only’方式,以及2个PeopleSoft应用程序之间如何实现单点登录。

在开始使用单点登录功能和设置之前,先来学习一点PS_TOKEN cookie的知识。

什么是PS_TOKEN cookie

PS_TOKEN是嵌入到peoplesoft 用户浏览器的内存中的cookie中的。只要cookie是有效的,用户就可以浏览peoplesoft应用程序,而不需要再次输入账号密码。

Note:如果在浏览器中禁用了cookie,用户将无法进入peoplesoft应用程序。

如何生成PS_TOKEN cookie

当用户在PeopleSoft应用程序中输入他的登录信息时,Webserver将该信息传递给PeopleSoft应用服务器。根据提供的信息,PeopleSoft应用服务器执行以下任务:

1、对用户进行身份验证

2、生成一个单点登录令牌

3、加密单个登录令牌

4、将令牌发送给Webserver,并使用指示该系统对用户进行身份验证的代码

应用服务器生成的单一登录令牌包含用户id、语言代码、发布系统(issuing syste)和签名的日期和时间

Signature = SHA1_Hash ( User ID + Language Code + Date and Time Issued + Issuing System + Local Node Password )

在从应用服务器接收单个登录令牌后,PeopleSoft Web服务器会生成pstoken cookie,然后将其插入到用户的浏览器内存中。pstoken cookie的数据值包含应用程序服务器生成的单个登录令牌。

PS_TOKEN cookie保留在用户的浏览器中,直到会话结束。

PS_TOKEN cookie有多安全

1、PS_TOKEN cookie驻留在浏览器内存中,不写到磁盘。

2、没有密码存储在cookie中

3、加密的。

4、包含数字签名

5、如果过期,cookie会失效

如何使用PeopleSoft单点登录

现在已经了解了PS_TOKEN cookie的生成,让我们只看两个PeopleSoft应用程序之间的单点登录过程。如果两个应用程序为HCM和FSCM,用户第一次登录到HCM(生成PS_TOKEN)。

当用户从HCM应用单击指向FSCM应用程序的链接时,将发生下面的步骤:

1、浏览器将PS_TOKEN cookie(由HCM生成)发送到FSCM Web服务器

2、FSCM Webserver看到登录令牌并没有显示在页面中,而是将PS_TOKEN cookie的数据字段发送到FSCM应用服务器进行身份验证和验证。

3、FSCM应用服务器在PS_TOKEN cookie的数据字段上执行验证检查。

检查1:转发节点是否可信?在FSCM应用程序中,在pstrustnode表中输入系统值应该是一个值得信赖的节点。

检查2:令牌过期了吗?-检查签发的日期和时间值,以确定标记是否已过期。在FSCM中设置到期值,而不是HCM应用程序的值集。如果HCM的有效期为40分钟,而FSCM的有效期为20分钟,那么FSCM(20)下的值设置为这个验证检查。

检查3:检查数字签名是否匹配?-使用令牌中的信息,FSCM应用服务器生成一个签名,然后将其与标记中的签名相匹配。

4、经过所有验证检查之后,FSCM应用服务器提供用户请求的信息。

我的公众号:

PeopleSoft单点登录工作原理的更多相关文章

  1. SSO单点登录实现原理与总结

    一.什么是单点登录SSO(Single Sign-On) SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用 ...

  2. portal单点登录的原理与实现还有ESB

    portal单点登录的原理与实现还有ESB 在毕业论文中有描述到这一点.我给我出的截图

  3. 浅析C#中单点登录的原理和使用

    什么是单点登录?我想肯定有一部分人"望文生义"的认为一个用户只能在一处登录.其实这是错误的理解(我记得我第一次也是这么理解的).单点登录指的是多个子系统只需要登录一个,其他系统不需 ...

  4. SSO单点登录实现原理

    SSO单点登录实现原理 只是简要介绍下基于java的实现过程,不提供完整源码,明白了原理,我相信你们可以自己实现.sso采用客户端/服务端架构,我们先看sso-client与sso-server要实现 ...

  5. 单点登录的原理与CAS技术的研究

    1.什么是单点登录? 关于单点登录技术的说明参考文章:http://www.cnblogs.com/yupeng/archive/2012/05/24/2517317.html 一般来说,整个原理大家 ...

  6. 使用Cookie实现跨域单点登录的原理

    对于构建分布式系统来说业务功能的物理部署会随着新业务模块的增加而增加或改变物理部署的位置.而每个用户都有统一的帐号作为我们登录系统时的一个认证.当新业务或子系统部署在不同的物理机上,我们去访问不同的业 ...

  7. 单点登录实现原理(SSO)

    简介 单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源,若用户在某个应用系统中进行注销登录,所有的应用系统都不能再直接访问保护资源,像一些知名的大型网站,如:淘 ...

  8. sso单点登录系统原理与实现

    sso单点登录 1.认识并理解sso及其应用,并能根据其实现原理自行实现sso 没有使用sso单点登录的系统用户再访问同一个系统的不同模块都必须的登录 使用sso单点登录,用户只需要登录一次,并且可以 ...

  9. CAS单点登录的原理

    1.首先了解几个概念 1).TGC:Ticket-granting cookie,存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用.2).TGT:ticket grant ...

随机推荐

  1. POJ 2593

    #include <iostream> #include <stdio.h> using namespace std; int cmp ( const void *a , co ...

  2. odoo开发笔记:抛出警告的方式

    上边rase 加3种写法,都能实现,跑出警告的功能.

  3. CentOS7下RabbitMQ服务安装配置

    参考文档: CentOS7下RabbitMQ服务安装配置 http://www.linuxidc.com/Linux/2016-03/129557.htm 在linux下安装配置rabbitMQ详细教 ...

  4. c# winform as3相互调用

    C#主要代码: 首先要添加COM组件-Shockwave Flash Object //接收flash发送过来的信息        private void axShockwaveFlash1_Fla ...

  5. JavaScript -- Form

    -----048-Form.html----- <!DOCTYPE html> <html> <head> <meta http-equiv="co ...

  6. IC 设计中DFT的Boundary Scan功能

    在很大规模的IC设计中,往往会有一些各种各样的bug出现,不论是在前期design的过程,还是在post silicon流片回来chip的flaw,都会导致chip的功能的失败,时钟频率无法达到期望频 ...

  7. ruby中字符串转换为类

    最近有个需求,需要根据一个字符串当作一个类来使用,例如: 有一个字符串 “ChinaMag”,根据这个字符串调用 类 ChinaMag下的方法. 解决办法: 1. rails可以使用 constant ...

  8. 在Bootstrap框架中,form-control的效果

    在Bootstrap框架中,通过定制了一个类名`form-control`,也就是说,如果这几个元素使用了类名“form-control”,将会实现一些设计上的定制效果. 1.宽度变成了100% 2. ...

  9. OAuth 2.0授权之授权码授权

    OAuth 2.0 是一个开放的标准协议,允许应用程序访问其它应用的用户授权的数据(如用户名.头像.昵称等).比如使用微信.QQ.支付宝登录等第三方网站,只需要用户点击授权按钮,第三方网站就会获取到用 ...

  10. 搜索过滤Tip : title,site(搜标题和搜网站)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~拿老东家作例子了.........