Tu sitio puede tener sus propios miembros: registro, inicio de sesión, enlaces mágicos, roles, páginas restringidas y acceso a datos por fila. Las cuentas de visitantes se guardan en la base de datos propia del sitio y están completamente separadas de las personas que editan el sitio.
Construir el registro y el inicio de sesión
Diseña los formularios
Agrega inputs para el email y la contraseña y enlázalos en ambos sentidos a variables, por ejemplo
vars.emailyvars.password.Agrega un flujo de trabajo
En el clic del botón, ejecuta Sign up visitor o Log in visitor con esas variables y luego navega al área de miembros. Para entrar sin contraseña, usa Send sign-in link.
Muestra lo que corresponde
Enlaza la visibilidad a
user.isLoggedIn, saluda conuser.namey agrega un botón que ejecute Log out visitor.
El ámbito user
Cada enlace de datos, flujo de trabajo y regla puede leer user. Un visitante sin sesión es { isLoggedIn: false, id: NaN, roles: [] }, nunca null, así que comprueba user.isLoggedIn.
user = {
isLoggedIn: true,
id: 42,
email: "ada@example.com",
name: "Ada",
emailVerified: true,
roles: ["member"],
meta: {}
}
Verificación del email
Un registro con contraseña no prueba que alguien sea dueño de la dirección, así que las cuentas empiezan con emailVerified: false. Abrir un enlace mágico lo cambia a true. Si esa cuenta tenía contraseña, la verificación la borra y cierra sus sesiones: quien se registró con el email de otra persona pierde el acceso en cuanto el dueño real inicia sesión con el enlace. Exige la verificación donde importa, por ejemplo user.isLoggedIn && user.emailVerified.
Acceso a páginas
Sin ningún elemento seleccionado, el inspector muestra la configuración de la página. Activa Restrict y escribe una regla de acceso, como user.isLoggedIn o user.roles.includes('admin'). Los visitantes que no la cumplen se redirigen a la página que elijas, o reciben un 404.
- Las reglas se comprueban en el servidor en cada solicitud; las páginas restringidas nunca se sirven desde la caché compartida.
- Las consultas de cliente de una página restringida pasan la misma comprobación, así que sus datos no se pueden obtener directamente.
Roles
Define roles en Tables → Visitors y asígnalos ahí, o con el paso de servidor Set visitor roles (por ejemplo, después de un pago).