fix #5965 - validate user registration before adding user to a site

This commit is contained in:
sbwalker
2026-01-19 10:13:01 -05:00
parent 7d7ecf4757
commit 92f4a8b683

View File

@@ -181,14 +181,24 @@ namespace Oqtane.Managers
succeeded = true; succeeded = true;
if (!user.IsAuthenticated) if (!user.IsAuthenticated)
{ {
// validate if the user already exists for the site
succeeded = string.IsNullOrEmpty(GetUser(user.Username, user.SiteId).Roles);
if (succeeded)
{
// a user is registering for a new site - ensure their password is valid
var result = await _identitySignInManager.CheckPasswordSignInAsync(identityuser, user.Password, false); var result = await _identitySignInManager.CheckPasswordSignInAsync(identityuser, user.Password, false);
succeeded = result.Succeeded; succeeded = result.Succeeded;
if (!succeeded) if (!succeeded)
{ {
errors = "Password Not Valid For User"; errors = "User Already Exists In Installation But Cannot Be Added To A Site Because The Password Provided Is Not Valid";
} }
user.EmailConfirmed = succeeded; user.EmailConfirmed = succeeded;
} }
else
{
errors = "User Already Exists In Site";
}
}
} }
if (succeeded) if (succeeded)