Always clear previous hidden form value when PE_INFO is returned by autoRedirect and autoPost (#125)

This commit is contained in:
Clément Oudot 2010-08-20 10:52:52 +00:00
parent 5e6efebab1
commit a85958f90f
2 changed files with 3 additions and 4 deletions

View File

@ -1443,9 +1443,6 @@ sub authFinish {
my $self = shift; my $self = shift;
my %h; my %h;
# Clear SAML hidden fields (not used anymore)
$self->clearHiddenFormValue( ['SAMLRequest', 'SAMLResponse', 'Method', 'RelayState', 'SAMLart' ] );
# Real session was stored, get id and utime # Real session was stored, get id and utime
my $id = $self->{id}; my $id = $self->{id};
my $utime = $self->{sessionInfo}->{_utime}; my $utime = $self->{sessionInfo}->{_utime};

View File

@ -457,7 +457,7 @@ sub getHiddenFormValue {
# Delete all keys if no keys provided # Delete all keys if no keys provided
# @param keys Array reference of keys # @param keys Array reference of keys
# @return nothing # @return nothing
sub clearHiddenFormValues { sub clearHiddenFormValue {
my ( $self, $keys ) = splice @_; my ( $self, $keys ) = splice @_;
unless ( defined $keys ) { unless ( defined $keys ) {
@ -1616,6 +1616,7 @@ sub autoRedirect {
# Display info before redirecting # Display info before redirecting
if ( $self->info() ) { if ( $self->info() ) {
$self->{infoFormMethod} = "get"; $self->{infoFormMethod} = "get";
$self->clearHiddenFormValue();
my ($query_string) = ( $self->{urldc} =~ /.+?\?(.+)/ ); my ($query_string) = ( $self->{urldc} =~ /.+?\?(.+)/ );
if ($query_string) { if ($query_string) {
$self->lmLog( $self->lmLog(
@ -1708,6 +1709,7 @@ sub autoPost {
# Display info before redirecting # Display info before redirecting
if ( $self->info() ) { if ( $self->info() ) {
$self->{infoFormMethod} = "post"; $self->{infoFormMethod} = "post";
$self->clearHiddenFormValue();
$self->{urldc} = $url; $self->{urldc} = $url;
foreach ( keys %$formFields ) { foreach ( keys %$formFields ) {
$self->setHiddenFormValue( $_, $formFields->{$_}, "", 0 ); $self->setHiddenFormValue( $_, $formFields->{$_}, "", 0 );