解析不区分大小写的登录

3
我在Xcode应用程序中使用Parse,当我尝试使用以下信息登录时:
用户名:Admin 密码:test
它可以正常工作。但是当我输入以下信息时:
用户名:admin 密码:test
登录参数无效。有没有办法让Parse不区分大小写?

是的,你可以这样做,但需要在客户端实现。以下是一些示例:请参见此处。我知道你正在使用Swift编码,但对话主题仍应该对你有意义。 - soulshined
2个回答

3

基本上评论中的链接所说的是,在创建新用户对象或让用户登录之前,请调用:

let username = usernameLabel.text
..........................
username = username.lowercaseString
..........................
//Then save the object

因此,这不是使Parse不区分大小写的方法,而是消除了使其不区分大小写的必要性,因为所有内容都转换为小写。


但是这会改变用户名。 - Lucas Chwe
@LucasChwe 如果在您的应用程序中显示用户名(用户如何样式化它)是关键点,那么这就是一个问题。如果是这样,您可以选择:1)存储用户输入的用户名并使用正则表达式进行过滤(可能是一项昂贵的操作)query.whereKey("username", matchesRegex: "myUsername", modifiers: "I") 或者 2)为用户的直接输入使用单独的列 displayUsername 并使用 username 的小写版本。 - keji
后者可能更好,因为Parse有特定的登录方法。 - keji

1
一些Parse使用的参数是区分大小写的,因此您需要实现适当的方法来纠正这个问题,在用户保存任何用户列属性之前进行。事后为时已晚。所以简而言之,让用户输入任何他们想要的用户名并将其保存到后端作为小写字符串。然后当他们重新输入它时,将用户输入字符串转换为另一个小写字符串,并针对后端进行验证(现在是小写表示)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接