Session State Protection - Arguments must have Checksum - Help Required
zooidOct 15 2011 — edited Oct 25 2011Hi everyone,
I am using apex 4.0 and have set:
Session State Protection = True
Page Access Protection = Arguments must have checksum
Application Item Protection = Cecksum required - Session Level
Page Data Entry Item Protection = Cecksum required - Session Level
Page Display-Only Item Protection = Cecksum required - Session Level
On pages which contain a Interactive report the calls to other pages to update and or delete a record passing the PK of the record work OK.
I have set these as follows:
In the Interactive report LInk Colomn --> Link Attribute = onclick="new top.Ext.apex.PopupWindow( { url: this.href, title: 'Edit Classification Details', width: 530, height: 500, listeners: {'success': gReport.search} } ).show(); return false;"
Target = Page in this Application
Page = 302Item = P302_IDCLASS
Value = #IDCLASS#
Page Checksum = - User Default -
The problem is on the "Create new record" button which is located on the Interactive report page. I have defined the button as:
Button Attributes = onclick="new top.Ext.apex.PopupWindow({ url:'f?p=&APP_ID.:302:&APP_SESSION.::NO:302::::', title: 'Create New Classification', width: 530, height: 500, listeners: {'success': gReport.search} }).show(); return false;"
Action when button click = Redirect to Page in this Application
Page = 302
Clear Cache = 302
When I click the button I get the following message:
Session state protection violation: This may be caused by manual alteration of a URL containing a checksum or by using a link with an incorrect or missing checksum. If you are unsure what caused this error, please contact the application administrator for assistance.
If I change the Button attributes to be:
onclick="new top.Ext.apex.PopupWindow({ url:'f?p=&APP_ID.:302:&APP_SESSION.::NO:::::', title: 'Create New Classification', width: 530, height: 500, listeners: {'success': gReport.search} }).show(); return false;"
It works OK, bu the page items are not clear.
Could someone please explaing to me what am I doing wrong so I understand my mistake ?
Thank you
Daniel