我对如何在登录时重定向用户感到困惑
脚本:
-
我正在计划我的身份验证。ts,第一次登录时,在我的firebase上,我将设置一个类似于1(如果用户完成了测试)和0(如果用户没有完成测试)的检查器
User
|_UID
|_Checker:"1/0" // Either 1 or 0
以下是登录代码:
loginUser() {
if (!this.loginForm.valid) {
console.log(this.loginForm.value);
} else {
this.authData.loginUser(this.loginForm.value.email, this.loginForm.value.password)
.then(authData => {
//if user is done with the test
this.navCtrl.push(HomePage);
//else
this.navCtrl.push(TestPage);
}, error => {
this.loading.dismiss().then(() => {
let alert = this.alertCtrl.create({
message: error.message,
buttons: [
{
text: "Ok",
role: 'Cancel'
}
]
});
alert.present();
});
})
一个uth.ts
loginUser(newEmail: string, newPassword: string): firebase.Promise<any> {
return this.afAuth.auth.signInWithEmailAndPassword(newEmail, newPassword)
.then(newUser => {
const x = this.afAuth.auth.currentUser.uid;
if (x != null) {
firebase.database().ref('/Users').child(newUser.uid).set({
email: newEmail,
})
} else {
firebase.database().ref('/Users').child(newUser.uid)
}
})}
如果您确实添加了该检查器,那么您只需添加一个条件
User._Checker ? this.navCtrl.push(HomePage) : this.navCtrl.push(TestPage);
这是在假设checker字段是在用户身份验证数据下创建的自定义字段的情况下进行的。而且,Checker是一个布尔值
使现代化
因此,如果uid checker字段不存在,那么您需要在authdata中创建一个自定义字段,我甚至不确定您是否可以这样做,或者在用户首次完成注册过程时在数据库中创建该字段。我认为如果你想添加额外的用户信息,这是很常见的。
.then(newUser => {
const x = this.afAuth.auth.currentUser.uid;
if (x != null) {
firebase.database().ref('/Users').child(newUser.uid).set({
email: newEmail,
_Checked:true // <- added
})
} else {
firebase.database().ref('/Users').child(newUser.uid)
}
我有一行代码: 它工作良好,但用户可以简单地按下Esc键来取消操作。我试图使用一个事件侦听器来防止Esc键被按下,但它只在用户在初始页面时起作用。一旦他们被重定向,它就会停止工作,他们可以在浏览器中快速按Esc键或地址栏旁边的大X来取消重定向。 有什么办法可以让我完全避免? 编辑:我之所以要这样做,是因为在登录时,它们会自动发送到索引页。我在我的数据库中有一个标志,它检查用户是否已经付款。然后在索
我提出了以下解决方案: 创建表<代码>记录器<代码>(<代码>id<代码>int(11)NOT NULL AUTO\u INCREMENT,<代码>ip<代码>int(11)NOT NULL,<代码>landing<代码>varchar(16)DEFAULT NULL,<代码>updated<代码>timestamp NOT NULL DEFAULT CURRENT\u timestamp ON
嗨,我需要知道如何通过验证用户角色来重定向应用程序,就像:如果ROLE_USER重定向到accountuser.xhtml或者如果ROLE_ADMIN重定向到accountadmin.xtml那样 使用spring security 和身份验证方法 这是我的账户流水:
我在我的网站上有一个登录系统,它将用户从index.phpverify_login_form.php,然后,如果电子邮件/用户名组合匹配一个帐户,他们将被home.php。我遇到的问题是 home.php避免人们在没有登录/注册的情况下仅仅输入websitename.com/home.php。问题是,用户用他们的电子邮件和密码登录,然后被带到home.php,所以他们不必输入用户名。如何获得具有相
问题内容: 这是我的ajax电话: 在我的控制器中,最后有一个重定向指令: 它不会重定向。取而代之的是,它停留在与开始时相同的加载页面上。 问题答案: 如果AJAX调用返回重定向,浏览器将不会重定向。如果您想在AJAX调用后将用户发送到新页面,则需要使用Javascript进行操作。例: 确保浏览器呈现AJAX响应。使用grails 标签,您应该指定一个元素以使用该属性进行更新。
问题内容: 我想设置我的网站,以便如果用户点击该页面并且他们已经登录,它将把他们重定向到主页。如果未登录,它将正常显示。由于登录代码内置在Django中,我该怎么做? 问题答案: 我假设你当前正在使用内置的登录视图, 或你网址中的类似内容。 你可以编写包含默认视图的登录视图。它将检查用户是否已经登录,如果已经登录则重定向,否则使用默认视图。 就像是: 当然可以相应地更改你的网址: