可以';我不能让我的不敏感用户登录功能正常工作,我做错了什么?Xamarin形成
本文关键字:工作 常工作 错了 Xamarin 形成 什么 功能 不能 我的 登录 用户 | 更新日期: 2023-09-27 18:27:45
我有一个登录函数连接到我的数据库,但我无法让它工作,因为如果我用小写字母("M")注册,当我用大写字母("M")键入用户名时会出错。
yourEmail,yourPassword,usernameEntry,passwordEntry=我的xaml文件中的条目
注册码:
var userInfo = await parseAPI.signupUser (yourEmail.Text, yourPassword.Text);
if (userInfo ["error"] == null) {
Application.Current.Properties ["userId"] = userInfo ["objectId"].ToString ();
Application.Current.Properties ["sessionToken"] = userInfo ["sessionToken"].ToString ();
await Application.Current.SavePropertiesAsync ();
} else {
}
和我的登录代码:
var userInfo = await parseAPI.loginUser (usernameEntry.Text, passwordEntry.Text);
if (userInfo ["error"] == null) {
Application.Current.Properties ["userId"] = userInfo ["objectId"].ToString ();
Application.Current.Properties ["sessionToken"] = userInfo ["sessionToken"].ToString ();
await Application.Current.SavePropertiesAsync ();
//loginstrings
String theUserString = usernameEntry.Text.ToUpper ();
String theUserString = passwordEntry.Text.ToUpper ();
//registerstrings
String theUserStringRegister = yourPassword.Text.ToUpper ();
String theUserStringRegister = yourEmail.Text.ToUpper ();
Navigation.PopModalAsync ();
} else {
await DisplayAlert ("Wrong password", "Try again", "Ok");
}
您将用户的输入直接传递给注册和登录函数,而无需修改案例。您需要强制它们使用相同的情况,并在整个代码中始终如一地使用它们。
string userName = yourEmail.Text.ToLower();
// always register the user using the lcase namne
var userInfo = await parseAPI.signupUser (userName, yourPassword.Text);
// then when logging in, always use the lcase name for consistency
var userInfo = await parseAPI.loginUser (userName, passwordEntry.Text);
你可以对密码做同样的事情,但有一个不区分大小写的密码是很不寻常的-我不建议这样做。