Se fosse você criara uma API Rest no projeto do qual o usuário "sai" e um cliente REST no qual o usuário "chega".
Assim o projeto 2 "pergunta" pro projeto 1 se o usuário está autenticado ainda.
Com essa abordagem você envia só o "login" e não a senha do usuário entre as aplicações.
E penso que seria algo simples de implementar.
Existe também a tradicional leitura de cookies, mas, além de ser "old school" pode não ser muito confiável.
Por fim tem o uso de HTML 5 para gravação de dados offline no navegador do usuário. Boa solução, mas depende do fato do usuário não usar navegador antigo (IE 8-, FF 3.x-, etc)
Outra alternativa, talvez até mais simples é você ter uma terceira aplicação aonde centralize o acesso aos seus dados de autenticação.
Esta poderia prover uma API no formato REST mesmo, que é mais fácil de trabalhar e, com base nos parâmetros recebidos, retornar algo no formato XML ou JSon para ambas as aplicações clientes com estes dados.
Com relação à segurança, você pode até fazer um negócio muito simples que quebraria o seu galho bem: configure o servidor aonde se encontra esta terceira aplicação para só aceitar conexões na porta 80 ou a que você escolher como a do seu serviço web por um número finito de IPs, no caso, exatamente os IPs das suas duas outras aplicações.