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

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

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. python互斥锁

    互斥锁 进程之间数据隔离, 但是多个进程可以共享同一块数据,比如共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,如下 from mu ...

  2. jdk1.8+SpringAOP注解报java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut select错误的不知原因的解决办法[仅供参考]

    先说办法:如果Aspectweaver-1.*.*jar这三个包版本比较低, 比如1.5.0这一层次的,可以找版本高一点的包替换低版本的包,问题可以得到解决 jar包的下载地址:https://mvn ...

  3. 08-01 java 帮助文档的制作和使用,使用jdk提供的帮助文档

    01_帮助文档的制作和使用 制作说明书的流程 如何制作一个说明书呢? A:写一个工具类 B:对这个类加入文档注释 怎么加呢? 加些什么东西呢? C:用工具解析文档注释 javadoc工具 D:格式 j ...

  4. 抓包和测试Api类工具

    1.PostMan  测试api 2.Fiddler4抓包工具使用教程一

  5. donet core 应用 部署到CentOS

    创建应用 新建一个Asp.net core Web API 应用 在program里指定监听端口 public static IWebHost BuildWebHost(string[] args) ...

  6. Enterprise Library 6 学习笔记

    今天是2014年上班第一天,想着今年要做点与往年不同的事情,就从写博客开始吧. 公司的项目一般都用微软的企业库,一直没时间好好研究,第一天上班还不忙,就抽空研究了下.搜索一下,发现这个企业库已经到了6 ...

  7. 全网最全的Windows下Anaconda2 / Anaconda3里Python语言实现定时发送微信消息给好友或群里(图文详解)

    不多说,直接上干货! 缘由: (1)最近看到情侣零点送祝福,感觉还是很浪漫的事情,相信有很多人熬夜为了给爱的人送上零点祝福,但是有时等着等着就睡着了或者时间并不是卡的那么准就有点强迫症了,这是也许程序 ...

  8. JAVA多线程Thread VS Runnable详解

    要求 必备知识 本文要求基本了解JAVA编程知识. 开发环境 windows 7/EditPlus 演示地址 源文件   进程与线程 进程是程序在处理机中的一次运行.一个进程既包括其所要执行的指令,也 ...

  9. Notification 浏览器的消息推送

    Notification 对象,存在于window上,可以生成一个通知对象以推送推送浏览器消息通知. 这玩意兼容性不咋地,实不实用看场景.对外用户的应用,自然是鸡肋功能,因为你无法知道用户使用的是哪家 ...

  10. Tomcat8源码编译及导入Eclipse中研究

    最近因为需求需要修改Tomcat中的某些功能,无奈只能研究那部分源码然后稍作修改. 目前Tomcat最新版是8.0,下载了源码包,编译并导入Eclipse中研究比较方便. 1. Tomcat8源码编译 ...