El valor que está configurando en el timeout
atributo es una de las formas correctas de configurar el valor de tiempo de espera de la sesión.
El timeout
atributo especifica la cantidad de minutos que una sesión puede estar inactiva antes de que se abandone. El valor predeterminado para este atributo es 20.
Al asignar un valor de 1 a este atributo, ha establecido que la sesión se abandone en 1 minuto después de su inactividad.
Para probar esto, cree una página aspx simple y escriba este código en el evento Page_Load,
Response.Write(Session.SessionID);
Abre un navegador y ve a esta página. Se imprimirá una identificación de sesión. Espere un minuto para pasar, luego presione actualizar. La identificación de la sesión cambiará.
Ahora, si mi suposición es correcta, desea que sus usuarios cierren sesión tan pronto como finalice la sesión. Para hacer esto, puede armar una página de inicio de sesión que verificará las credenciales del usuario y creará una variable de sesión como esta:
Session["UserId"] = 1;
Ahora, tendrá que realizar una verificación en cada página para esta variable como esta:
if(Session["UserId"] == null)
Response.Redirect("login.aspx");
Este es un ejemplo básico de cómo funcionará esto.
Pero, para que sus aplicaciones de calidad de producción sean seguras, use las clases Roles y Membresía proporcionadas por ASP.NET. Proporcionan autenticación basada en formularios que es mucho más confiable que la autenticación basada en sesión normal que está tratando de usar.