ServiceStack AuthFeature允许UserName的电子邮件地址

时间:2015-07-25 04:31:54

标签: authentication servicestack

我想使用电子邮件地址作为UserName。我只能使用电子邮件和密码“/注册”(UserName在AuthUser表中可以为Nullable),但不能“/ authenticate”,因为UserName为NULL。如果我将电子邮件复制到AuthUser表中的UserName,我可以成功“/ authenticate”。

问题是,根据AuthFeatureExtensions类的IsValidUsername方法中的验证RegEx,电子邮件地址包含无效字符,因此,您不能使用UserName =电子邮件地址“/注册”。

如果可能,我会坚持如何覆盖它?

谢谢,

1 个答案:

答案 0 :(得分:1)

ServiceStack身份验证自然支持通过电子邮件进行身份验证。使用包含' @'的用户名进行身份验证时ServiceStack将检查“电子邮件”字段而不是“用户名”。

所以不要复制任何内容,当您注册时,只需将电子邮件保留在电子邮件字段中,并将用户名留空即可。