From 89d039690d22d02925752e257112add5016a5c20 Mon Sep 17 00:00:00 2001 From: bybai Date: Tue, 18 Aug 2015 04:30:02 -0400 Subject: [PATCH] allow multiple valid access tokens to exist at the same time for a user --- xCAT-server/lib/perl/xCAT/xcatd.pm | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/xCAT-server/lib/perl/xCAT/xcatd.pm b/xCAT-server/lib/perl/xCAT/xcatd.pm index fb879db78..3a92cd0be 100644 --- a/xCAT-server/lib/perl/xCAT/xcatd.pm +++ b/xCAT-server/lib/perl/xCAT/xcatd.pm @@ -309,21 +309,15 @@ sub gettoken { return undef; } my $tokens = $tokentb->getAllEntries; - my $expiretime = time() + $tokentimeout; foreach my $token (@{$tokens}) { - if ($token->{username} eq $user) { - #delete old token - $tokentb->delEntries({'tokenid'=>$token->{tokenid}}); - } else { #clean the expired token - if ($token->{expire} > $expiretime) { + if ($token->{'expire'} < time()) { $tokentb->delEntries({'tokenid'=>$token->{tokenid}}); } - } } - # create a new token for this request my $uuid = xCAT::Utils->genUUID(); + my $expiretime = time() + $tokentimeout; $tokentb->setAttribs({tokenid=>$uuid, username => $user}, {expire => $expiretime}); $tokentb->close();