Buenas!
Las variables shared son compartidas por TODOs los "usuarios" de la aplicación web.
Para tener variables "a nivel de usuario" debes guardarlas en la sesión. Piensa que eso tiene efectos en cuanto a la escalabilidad y disponibilidad de tu aplicación, pero a veces es la única opción.
Te dejo un post de mi blog donde lo comento un poco:
http://geeks.ms/blogs/etomas/archive/2010/06/30/asp-net-mvc-q-amp-a-c-243-mo-usar-la-sesi-243-n.aspx
Saludos!
Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis