Esiste un modo per un'app di ColdFusion per sapere se viene eseguita dallo scheduler o da un browser? Idealmente, mi piacerebbe impostare un flag Session, ad esempio "isSchedched" in Application.cfm da utilizzare in tutta l'app.Coldfusion: rilevare se viene eseguito dall'Utilità di pianificazione
EDIT Ho finito per controllare l'agente utente, e che sta per essere eseguito localmente (per migliorare la sicurezza), e (dal momento che è in esecuzione in Application.cfm) che la pagina si trova nella cartella che permette la programmazione:
Request.isScheduled = FindNoCase("CFSCHEDULE",CGI.HTTP_USER_AGENT) and (Find("10.",CGI.REMOTE_ADDR)==1 or Find("198.162.",CGI.REMOTE_ADDR)==1) and FindNoCase("scheduled",CGI.CF_TEMPLATE_PATH);
Perché non puoi semplicemente passare un parametro stringa di query e prendere la decisione su quello? – Candide
Uno degli usi per la bandiera sarebbe quello di bypassare l'uso r autenticazione (che utilizza un reindirizzamento a una pagina del servizio di autenticazione centrale a livello aziendale) quando viene eseguita dallo scheduler, ma richiede l'autenticazione tutte le altre volte. Anche se sarei l'unico a conoscere il parametro della query da includere, si aprirà una possibile via per l'hacking, che preferirei evitare. –
Controllare l'User Agent non è più sicuro. Posso facilmente cambiare il mio user agent in FireFox - c'è anche un add-on User Agent Switcher per renderlo facile da cambiare. Lo faccio sempre per i test. – Yisroel