Hola, te paso una alternativa a las variables de session:
puedes buscar en google acerca de: FormsAuthentication...
para darte una idea: despues de comprobar que el usuario y su contraseña es correcta (ya sea desde una base de datos, del Web.config o de donde sea).... creas un ticket para ese usuario:
FormsAuthenticationTicket ticket
= new FormsAuthenticationTicket
(1,
"nombre de usuario", DateTime
.Now, DateTime
.Now.AddMinutes(30), isPersistent,
"informacion del usuario logueado***", FormsAuthentication
.FormsCookiePath);//Luego encriptas el ticket
string encTicket = FormsAuthentication.Encrypt(ticket);
// Creas la Cookie
Response
.Cookies.Add(new HttpCookie
(FormsAuthentication
.FormsCookieName, encTicket
));//y lo redireccionas
Response.Redirect(FormsAuthentication.GetRedirectUrl(txtUsu.Text, true));
***Luego en otras páginas puedes preguntar acerca de la informacion que mandaste del usuario logueado
if (Context.User.Identity.Name ..........
por ultimo en el web.config le indicas que la autentificacion es por formas
<authentication mode="Forms">
</authentication>
claro existen varias formas de hacer esto, tambien puedes controlar el acceso de las páginas por medio de carpetas...
<location path="CarpetaARestringir">
<system.web>
<authorization>
<deny users ="?" />
</authorization>
</system.web>
</location>
Saludos