• PeopleSoft单点登录工作原理


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

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

    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应用服务器提供用户请求的信息。

    我的公众号:
  • 相关阅读:
    pygame 笔记-7 生命值/血条处理
    pygame 笔记-6 碰撞检测
    pygame 笔记-5 模块化&加入敌人
    pygame 笔记-4 代码封装&发射子弹
    tk.mybatis通用插件updateByPrimaryKeySelective无法自动更新ON UPDATE CURRENT_TIMESTAMP列的解决办法
    pygame 笔记-3 角色动画及背景的使用
    pygame 笔记-2 模仿超级玛丽的弹跳
    pygame 笔记-1 按键控制方块移动
    mysql技巧:如果记录存在则更新/如果不存在则插入的三种处理方法
    mac上mysql8.0以tar.gz方式手动安装
  • 原文地址:https://www.cnblogs.com/eason-liu/p/7136142.html
Copyright © 2020-2023  润新知