我想使用电子邮件地址作为UserName。我只能使用电子邮件和密码“/注册”(UserName在AuthUser表中可以为Nullable),但不能“/ authenticate”,因为UserName为NULL。如果我将电子邮件复制到AuthUser表中的UserName,我可以成功“/ authenticate”。
问题是,根据AuthFeatureExtensions类的IsValidUsername方法中的验证RegEx,电子邮件地址包含无效字符,因此,您不能使用UserName =电子邮件地址“/注册”。
如果可能,我会坚持如何覆盖它?
谢谢,
杰
答案 0 :(得分:1)
ServiceStack身份验证自然支持通过电子邮件进行身份验证。使用包含' @'的用户名进行身份验证时ServiceStack将检查“电子邮件”字段而不是“用户名”。
所以不要复制任何内容,当您注册时,只需将电子邮件保留在电子邮件字段中,并将用户名留空即可。