La autenticación a través de web.config no se autentica en ASP.net 3.5

Esta es una de estas cosas que debería ser extremadamente simple y simplemente no puedo entender por qué no funciona.

Estoy intentando configurar una autenticación muy rápida para una aplicación ASP.net 3.5 pero almacenando los nombres de usuario y las contraseñas en el archivo web.config (sé que no es muy seguro, pero es una aplicación interna que me siguen pidiendo para agregar y eliminar inicios de sesión para que esta sea la forma más rápida de hacerlo).

Por lo tanto, la sección de configuración relevante se ve así:

<authentication mode="Forms">
   <forms loginUrl="~/login.aspx">
    <credentials>
     <user name="user" password="password" />
     <user name="user2" password="password2" />
    </credentials>
   </forms>
  </authentication>

  <authorization>
    <deny users="?"/>
  </authorization>

Y, en la página de inicio de sesión, el código se ve así:

string username = tbUsername.Text;
string password = tbPassword.Text;

if (FormsAuthentication.Authenticate(username, password))
    FormsAuthentication.RedirectFromLoginPage(username, false);

Pero, FormsAuthentication.Authenticate (nombre de usuario, contraseña) siempre devuelve falso. Y no puedo entender por qué.

Incluso intenté usar Membership.ValidateUser pero eso solo agrega en una base de datos local a la carpeta App_Data.

¿Hay algo realmente básico que estoy olvidando aquí o no funciona en absoluto en .net 3.5?