mirror of
https://github.com/rejetto/hfs2.git
synced 2025-12-19 18:13:46 +01:00
fix: account redirection with new login system
This commit is contained in:
parent
12c3804dcf
commit
993f75214f
18
main.pas
18
main.pas
@ -295,7 +295,7 @@ type
|
|||||||
vars: THashedStringList;
|
vars: THashedStringList;
|
||||||
created, ttl, expires: Tdatetime;
|
created, ttl, expires: Tdatetime;
|
||||||
public
|
public
|
||||||
id, user, ip: string;
|
id, user, ip, redirect: string;
|
||||||
constructor create(const sid:string='');
|
constructor create(const sid:string='');
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
procedure setVar(const k,v:string);
|
procedure setVar(const k,v:string);
|
||||||
@ -4936,6 +4936,13 @@ var
|
|||||||
exit;
|
exit;
|
||||||
data.user:=data.account.user;
|
data.user:=data.account.user;
|
||||||
data.pwd:=data.account.pwd;
|
data.pwd:=data.account.pwd;
|
||||||
|
if data.session.redirect > '' then
|
||||||
|
begin
|
||||||
|
conn.reply.mode:=HRM_REDIRECT;
|
||||||
|
conn.reply.url:=data.session.redirect;
|
||||||
|
data.session.redirect:=''; // only once
|
||||||
|
result:=FALSE;
|
||||||
|
end;
|
||||||
end; // sessionSetup
|
end; // sessionSetup
|
||||||
|
|
||||||
procedure serveTar();
|
procedure serveTar();
|
||||||
@ -5187,12 +5194,12 @@ var
|
|||||||
add2log('Failed deletion in '+url+CRLF+join(CRLF, errors), data);
|
add2log('Failed deletion in '+url+CRLF+join(CRLF, errors), data);
|
||||||
end; // deletion
|
end; // deletion
|
||||||
|
|
||||||
function getAccountRedirect():string;
|
function getAccountRedirect(acc:Paccount=NIL):string;
|
||||||
var
|
|
||||||
acc: Paccount;
|
|
||||||
begin
|
begin
|
||||||
result:='';
|
result:='';
|
||||||
acc:=accountRecursion(data.account, ARSC_REDIR);
|
if acc = NIL then
|
||||||
|
acc:=data.account;
|
||||||
|
acc:=accountRecursion(acc, ARSC_REDIR);
|
||||||
if acc = NIL then exit;
|
if acc = NIL then exit;
|
||||||
result:=acc.redir;
|
result:=acc.redir;
|
||||||
if (result = '') or ansiContainsStr(result, '://') then exit;
|
if (result = '') or ansiContainsStr(result, '://') then exit;
|
||||||
@ -5324,6 +5331,7 @@ var
|
|||||||
or (data.postVars.values['password'] = acc.pwd) then
|
or (data.postVars.values['password'] = acc.pwd) then
|
||||||
begin
|
begin
|
||||||
data.session.user:=acc.user;
|
data.session.user:=acc.user;
|
||||||
|
data.session.redirect:=getAccountRedirect(acc);
|
||||||
s:='ok';
|
s:='ok';
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user