使用SqlMembershipProvider时,为什么用户名不允许使用逗号?

时间:2012-04-02 12:25:38

标签: validation sqlmembershipprovider argumentexception createuser

虽然 NOT 在MSDN上记录为CreateUser方法的一部分,但如果您尝试对包含逗号的用户名执行任何操作,则SqlMembershipProvider会抛出ArgumentException(包括尝试创建用户)。密码中的逗号似乎没问题。我的问题是为什么?

System.ArgumentException: The parameter 'username' must not contain commas.

编辑stackoverflow所述,允许使用逗号的一个原因是,虽然不寻常的电子邮件地址 CAN 包含逗号。

1 个答案:

答案 0 :(得分:1)

我敢打赌,密码是经过哈希处理的,用户名则没有。但是,我没有备份。想象一下,你想将用户输入连接成一个字符串,并用逗号表示几个字段。你是不是更容易重新编写逗号而不是找到一种荒谬的方式来逃避和/或编码字符串中间的逗号?

编辑:实际上,在UpdateUser方法中,记录了用户名不能包含逗号。但是,他们仍然没有解释为什么会有限制。这是关于何时抛出ArgumentException的部分:

  

user的UserName属性是一个空字符串(“”),包含一个   逗号,或超过256个字符。