Peoplecode — как создавать куки?

Мы пытаемся создать файл cookie в PeopleSoft Peoplecode, используя объект %Response.

Однако код, который мы пробовали, терпит неудачу.

&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.";

Ссылка на документ указывает на функции IScript, называемые методами CreateCookie и т. д. .htm" rel="nofollow">http://docs.oracle.com/cd/E15645_01/pt850pbr0/eng/psbooks/tpcr/chapter.htm?File=tpcr/htm/tpcr21.htm

Однако они не работают в Peoplecode. У нас нет знаний, чтобы создать IScript или использовать его. Любое понимание API кода людей для файлов cookie или IScript высоко ценится.


person VC1    schedule 15.01.2015    source источник


Ответы (2)


Я только что протестировал PeopleTools 8.54.11 и смог создать файл cookie, используя приведенный выше фрагмент кода.

Я обнаружил, что у меня возникла проблема, если я установил

&YourCookie.Secure = True; 

в среде, где я использовал HTTP.

Если для параметра Secure установлено значение False, файл cookie будет доступен как для HTTP, так и для HTTPS.

если вы установите для Secure значение True, файл cookie доступен только в HTTPS.

Документация PeopleTools 8.54, показывающая метод CreateCookie

person Darryls99    schedule 23.09.2015

Я пытался сделать это (тот же фрагмент кода) из кода входа в систему, выпуск инструментов — 8.54.09. Я могу выполнить первые две строки кода, но как только строка кода, выполняющая метод CreateCookie(), выполняется, меня выбрасывает / я попадаю на страницу ошибки входа.

Похоже, это подтверждает предыдущий ответ о том, что API удалил метод, но ответ до этого говорит, что он был успешным в инструментах 8.54.11 - означает ли это, что они удалили его, а затем вернули, и я оказался застрял с выпуском, где он был удален? :-/

person Anne    schedule 19.11.2015
comment
Код входа в систему не имеет доступа к объекту %request или %response, поэтому вы не можете установить файл cookie из кода людей для входа в систему. - person Darryls99; 20.11.2015
comment
Спасибо @ Darryls99 - это также объясняет нашу проблему. Мы также пытались установить cookie в коде людей Signon. - person VC1; 02.12.2015