QZ Forms
The code is data
QZ Forms Login Process
Starting \ Input State \ URI |
/qz/login | /qz/login/validate | /qz/logout | any other |
---|---|---|---|---|
no_session | run setup_session run req_login session_no_login |
loc logout | loc logout | loc logout |
bad_session | run close_session run setup_session run req_login session_no_login |
run close_session loc logout no_session |
run close_session run logout no_session |
run close_session loc logout no_session |
session_no_login | run req_login | check form_tag run validate logged_in or close session, loc login |
run logout | loc login |
logged_in | run close_session run setup_session run login logged_out |
run close_session loc logout logged_out (not in normal flow) |
run logout logged_out |
run it |
logged_out | run close_sesson run setup_session run req_login session_no_login |
run close_sesson loc logout |
run close_sesson loc logout |
run close_sesson loc logout |
- loc x
- redirect to location x
- run x
- execute function x
- no_session
- no_session means a session key was not found in an incoming cookie or the session key found did not reference a valid session struct.
- bad_session
- bad_session is the extraordinary event that the integrity of the internal data structure for the session can not be afirmed.
- session_no_login
- session_no_login means a valid session was found but login credentials to Postgresql have not yet been presented.
- logged in
- logged out
- logged in means PQstatus returns CONNECTION OK, otherwise logged out. Logged in and logged out are from Postgresql's perspective. When the session "is_logged_in" flag is false the state is session_no_login. State logged_out is not in the normal flow, but represents a session that lost its Postgreql connection.
- run logout
- logout will only remove a session in the extraordinary event that the session is corrupted. Normal flow is to change the "is_logged_in" flag to false but leave the session record in place.