FSN#37536 Nieuwe sessie bij wachtwoord wijzigen
svn path=/Website/trunk/; revision=31349
This commit is contained in:
@@ -68,6 +68,11 @@ if (!clearpassword)
|
||||
// alle oude fac_session opruimen gebeurt door een trigger op PRS_PERSLID
|
||||
shared.trackaction("PRSLOG", theUser_key, L("lcl_pwd_success"));
|
||||
setpassword(theUser_key, newPassword);
|
||||
if (theUser_key == user_key)
|
||||
{
|
||||
doLogin(user_key); // Want credentials gewijzigd
|
||||
}
|
||||
|
||||
if (clearpassword) // Eventuele OTP ook wissen
|
||||
{
|
||||
var sql = "UPDATE prs_perslid"
|
||||
@@ -88,6 +93,6 @@ Session.Contents.Remove("must_reset_password");
|
||||
// Het is niet helemaal zuiver dat het FAC_SESSION record van onszelf nu
|
||||
// verwijderd is. Daar hebben we in de praktijk geen last van (dd. 5.3.2)
|
||||
|
||||
var result = { message: L("lcl_pwd_success"), success: true };
|
||||
var result = { toaster: L("lcl_pwd_success"), success: true };
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
@@ -100,9 +100,17 @@ function doLogin(prs_key, params)
|
||||
+ " WHERE prs_perslid_key=" + user_key;
|
||||
Oracle.Execute(registersql);
|
||||
|
||||
Session("user_key") = user_key; /* Nu ben je pas *echt* ingelogd
|
||||
Session("user_key") = user_key; // Nu ben je pas *echt* ingelogd
|
||||
/* global */ user = new Perslid(user_key);
|
||||
|
||||
// Normaal gesproken zou ik hier new Date() gebruiken
|
||||
// Omdat zelfs kleine afwijkingen al grote problemen zouden kunnen
|
||||
// geven consequent altijd de Oracle-tijd gebruiken
|
||||
var sql = "SELECT SYSDATE FROM DUAL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
Session("login_date") = new Date(oRs(0).Value).getTime();
|
||||
oRs.Close();
|
||||
|
||||
// FACFAC tracken we altijd
|
||||
if (!params.noFacSession) // fac_scan_cust genereert er anders te veel
|
||||
{
|
||||
|
||||
@@ -54,6 +54,7 @@ Perslid.prototype._require_prs_perslid = function __require_prs_perslid()
|
||||
+ " , p.prs_perslid_oslogin2"
|
||||
+ " , p.prs_perslid_wachtwoord_hash"
|
||||
+ " , p.prs_perslid_otpsecret"
|
||||
+ " , prs_perslid_credentials_datum"
|
||||
+ " , p.alg_onroerendgoed_keys"
|
||||
+ " , p.alg_onroerendgoed_type"
|
||||
+ " , p.prs_perslid_bezetdatum"
|
||||
@@ -88,6 +89,7 @@ Perslid.prototype._require_prs_perslid = function __require_prs_perslid()
|
||||
this._prs_perslid_oslogin2 = oRs("prs_perslid_oslogin2").value;
|
||||
this._prs_perslid_haspw = (oRs("prs_perslid_wachtwoord_hash").value != null);
|
||||
this._prs_perslid_otpsecret = oRs("prs_perslid_otpsecret").value;
|
||||
this._prs_perslid_credentials_datum = new Date(oRs("prs_perslid_credentials_datum").Value);
|
||||
this._alg_onroerendgoed_keys = oRs("alg_onroerendgoed_keys").value;
|
||||
this._alg_onroerendgoed_type = oRs("alg_onroerendgoed_type").value;
|
||||
this._prs_perslid_bezetdatum = oRs("prs_perslid_bezetdatum").value;
|
||||
@@ -496,6 +498,22 @@ Perslid.prototype.password_expired = function _password_expired()
|
||||
return false;
|
||||
return this._prs_perslid_wachtwoord_exp < (new Date);
|
||||
}
|
||||
|
||||
// Als de credentials zijn gewijzigd *nadat* je bent ingelogd
|
||||
// gaan we moeilijk doen (vanuit common.inc)
|
||||
Perslid.prototype.credentials_changed = function _credentials_changed()
|
||||
{
|
||||
this._require_prs_perslid();
|
||||
var login_date = new Date(Session("login_date"));
|
||||
var is_changed = false;
|
||||
if (this._prs_perslid_credentials_datum > login_date)
|
||||
{
|
||||
__DoLog("Session is expired! cred={0}, login={1}".format(toDateTimeString(this._prs_perslid_credentials_datum, true), toDateTimeString(login_date, true)), "#f00");
|
||||
is_changed = true;
|
||||
}
|
||||
return is_changed;
|
||||
}
|
||||
|
||||
Perslid.prototype.prs_perslid_apikey = function()
|
||||
{
|
||||
this._require_prs_perslid();
|
||||
|
||||
Reference in New Issue
Block a user