繁体   English   中英

无法让我不敏感的用户登录功能工作,我做错了什么? Xamarin 表单

[英]Can't get my insensitive user login function to work, what am I doing wrong? Xamarin forms

我有一个登录功能连接到我的数据库,但我无法让它工作,因为如果我用小写字母 (“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);

你可以用密码做同样的事情,但密码不区分大小写是很不寻常的 - 我不推荐它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM