Peoplecode - 如何创建cookie?

时间:2015-01-15 18:44:25

标签: cookies peoplesoft

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

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

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

我们尝试创建Cookie的另一个片段

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的People代码API的任何见解。

2 个答案:

答案 0 :(得分:1)

我刚刚在PeopleTools 8.54.11上测试过,并且能够使用您在上面提供的代码段创建一个cookie。

如果我设置了

,我确实发现我遇到了问题
&YourCookie.Secure = True; 

在我使用HTTP的环境中。

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

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

PeopleTools 8.54 Documentation showing the CreateCookie method

答案 1 :(得分:1)

我一直在尝试从signon peoplecode中执行此操作(相同的代码片段),工具版本是8.54.09。我可以执行前两行代码,但只要执行CreateCookie()方法的代码行执行,我就会在登录错误页面上被抛出/结束。

这似乎支持之前的答案,说API已经删除了该方法,但之前的答案表明它已成功使用工具8.54.11 - 这是否意味着他们删除了它,然后将其删回,我碰巧被释放的地方卡住了吗? : - /