【问题标题】:Peoplecode - how to create cookies?Peoplecode - 如何创建 cookie?
【发布时间】:2023-03-28 11:50:01
【问题描述】:

我们正在尝试使用 %Response 对象在 PeopleSoft Peoplecode 中创建一个 cookie。

但是,我们尝试的代码失败了。

&YourCookie = %Response.AddCookie("YourCookieName", "LR");

另一个我们尝试创建 cookie 的 sn-p

Local object &Response = %Response;
Local object &YourCookie;
&YourCookie = &Response.CreateCookie("YourCookieName");
&YourCookie.Domain = %Request.AuthTokenDomain;
&YourCookie.MaxAge = -1; /* Makes this a session cookie (default) */
&YourCookie.Path = "/";
&YourCookie.Secure = True; /* Set to true if using https (will still work with http) */
&YourCookie.Value = "Set the cookie value here. Encrypt sensitive information.";

文档引用指向称为 CreateCookie 方法等的 IScript 函数。 http://docs.oracle.com/cd/E15645_01/pt850pbr0/eng/psbooks/tpcr/chapter.htm?File=tpcr/htm/tpcr21.htm

但是,这些在 Peoplecode 中不起作用。我们没有创建或使用 IScript 的知识。非常感谢任何有关 cookie 或 IScript 的人员代码 API 的见解。

【问题讨论】:

    标签: cookies peoplesoft


    【解决方案1】:

    我刚刚在 PeopleTools 8.54.11 上进行了测试,并且能够使用您在上面提供的 sn-p 创建一个 cookie。

    我确实发现如果我设置会出现问题

    &YourCookie.Secure = True; 
    

    在我使用 HTTP 的环境中。

    如果您将 Secure 设置为 False,则 cookie 将在 HTTP 和 HTTPS 中可用

    如果您将 Secure 设置为 True,则 cookie 仅在 HTTPS 中可用

    PeopleTools 8.54 Documentation showing the CreateCookie method

    【讨论】:

      【解决方案2】:

      我一直在尝试从登录人员代码中执行此操作(相同的代码 sn-p),工具版本是 8.54.09。我可以执行前两行代码,但是一旦执行 CreateCookie() 方法的代码行执行,我就会被抛弃/最终出现在登录错误页面上。

      这似乎支持先前的答案,即 API 已删除该方法,但之前的答案说它已在工具 8.54.11 上成功 - 这是否意味着他们将其删除,然后将其放回原处,我碰巧被删除的版本卡住了? :-/

      【讨论】:

      • Signon peoplecode 无权访问 %request 或 %response 对象,因此您无法从 signon peoplecode 中设置 cookie。
      • 谢谢@Darryls99 - 这也解释了我们的问题。我们也尝试在 Signon 人员代码中设置 cookie。
      猜你喜欢
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 2013-08-19
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多