我有一个登录页面,我想检查一个名为ProfileInfo的数据库中的用户名和密码(此数据库中只有两列-用户名和密码),如果匹配,该页面将切换到动态个人资料页面。
我有两个问题
答案 0 :(得分:0)
首先,这不是处理用户登录的非常安全的方法。您可能要考虑使用内置的Wix成员功能。
话虽如此,您绝对要确保您的ProfileInfo集合设置了非常严格的权限。另外,您将需要在后端查询并检查密码。
因此,在某些后端Web模块中(这里我假设它是authenticate.jsw),您应该编写类似于以下的函数:
import wixData from 'wix-data';
export function authenticate(username, password) {
return wixData.query("ProfileInfo")
.eq("username", username)
.find({"supressAuth": true})
.then( (results) => {
if(results.items.length > 0) {
return password === results.items[0].password;
}
} );
}
然后,可以从您的页面代码中这样称呼它。在不知道如何设置动态页面的情况下,不可能确切地说出wixLocation.to()
应该包含的内容。在这里,我假设您使用前缀Profile
进行设置,并且它基于username
。
import {authenticate} from 'backend/authenticate';
import wixLocation from 'wix-location';
export function button_click() {
authenticate($w("#username").text, $w("#password").text)
.then( (authenticated) => {
if(authenticated) {
wixLocation.to(`/Profile/${$w("#username")}`)
}
} );
}