@@ -51,9 +51,7 @@ public async Task<IActionResult> Register([FromBody] RegisterModel model, Cancel
51
51
if ( accountPolicy . Value . UseCaptcha && ! await captcha . VerifyAsync ( model , HttpContext , token ) )
52
52
return BadRequest ( new RequestResponse ( "验证码校验失败" ) ) ;
53
53
54
- var mailDomain = model . Email . Split ( '@' ) [ 1 ] ;
55
- if ( ! string . IsNullOrWhiteSpace ( accountPolicy . Value . EmailDomainList ) &&
56
- accountPolicy . Value . EmailDomainList . Split ( ',' ) . All ( d => d != mailDomain ) )
54
+ if ( ! VerifyEmailDomain ( model . Email . Split ( '@' ) [ 1 ] ) )
57
55
return BadRequest ( new RequestResponse ( $ "可用邮箱后缀:{ accountPolicy . Value . EmailDomainList } ") ) ;
58
56
59
57
var user = new UserInfo { UserName = model . UserName , Email = model . Email , Role = Role . User } ;
@@ -111,6 +109,14 @@ public async Task<IActionResult> Register([FromBody] RegisterModel model, Cancel
111
109
RegisterStatus . EmailConfirmationRequired , StatusCodes . Status200OK ) ) ;
112
110
}
113
111
112
+ private bool VerifyEmailDomain ( string email )
113
+ {
114
+ var mailDomain = email . Split ( '@' ) [ 1 ] ;
115
+
116
+ return string . IsNullOrWhiteSpace ( accountPolicy . Value . EmailDomainList )
117
+ || accountPolicy . Value . EmailDomainList . Split ( ',' , StringSplitOptions . RemoveEmptyEntries | StringSplitOptions . TrimEntries ) . Any ( d => d . Equals ( mailDomain , StringComparison . InvariantCulture ) ) ;
118
+ }
119
+
114
120
/// <summary>
115
121
/// 用户找回密码请求接口
116
122
/// </summary>
@@ -374,6 +380,9 @@ public async Task<IActionResult> ChangeEmail([FromBody] MailChangeModel model)
374
380
if ( await userManager . FindByEmailAsync ( model . NewMail ) is not null )
375
381
return BadRequest ( new RequestResponse ( "邮箱已经被占用" ) ) ;
376
382
383
+ if ( ! VerifyEmailDomain ( model . NewMail . Split ( '@' ) [ 1 ] ) )
384
+ return BadRequest ( new RequestResponse ( $ "可用邮箱后缀:{ accountPolicy . Value . EmailDomainList } ") ) ;
385
+
377
386
UserInfo ? user = await userManager . GetUserAsync ( User ) ;
378
387
379
388
if ( ! accountPolicy . Value . EmailConfirmationRequired )
0 commit comments