Suppongo che il tuo problema riguardi l'utilizzo di un'applicazione Web che non controlli . Quella applicazione Web richiede alcune "credenziali utente" (login e password) che non si desidera mostrare all'utente umano. Ma queste credenziali devono esistere e, se non sono nella testa del dipendente, devono essere nella sua macchina o in un'altra macchina relay.
In generale, puoi immaginare un sistema proxy : il dipendente si connette non all'app Web, ma al proxy. Il dipendente esegue l'autenticazione con il proxy tramite un metodo specifico del proxy, che può essere una password di accesso + (non uguale alle credenziali per l'app Web). Il proxy inoltra quindi tutte le richieste all'app Web e le risposte indietro, tranne che esegue anche l'autenticazione "vera" con l'app Web.
Quel proxy può essere un software in esecuzione sul sistema desktop del dipendente, ma questo è un po 'debole, perché il dipendente ha, per definizione, l'accesso fisico al proprio sistema desktop, quindi sarà in grado di estrarre i segreti che contiene, se mette un po 'di impegno nel compito. Un sistema più strong è quello di rendere il proxy una macchina separata, mantenuta in una baia in una stanza del server, sulla rete interna della società. Il punto qui è che questa macchina proxy non è raggiungibile dal dipendente dal suo accesso a Internet a casa.
Questo è quanto possiamo dire "in generale". Quanto sia facile o difficile implementare un tale sistema dipende molto da come l'app Web fa cose. Ad esempio, se l'app Web di destinazione utilizza Autenticazione di base HTTP , il proxy deve semplicemente aggiungere in modo trasparente WWW-Authenticate:
intestazione HTTP per ogni richiesta. Se l'app Web utilizza una "pagina di accesso" personalizzata (che è il solito caso), il proxy dovrebbe ottenere quella pagina, inviare le credenziali (HTTP POST), quindi ottenere il cookie HTTP, e aggiungi l'intestazione HTTP Cookie:
ad ogni richiesta. Se l'app Web utilizza OAuth e / o il codice Ajax con Javascript sul lato client, le cose possono diventare complesse, possibilmente piuttosto peloso.