Login registration

This commit is contained in:
Paul Schneider 2024-11-23 14:23:47 +00:00
commit 277dff7d61
22 changed files with 171 additions and 176 deletions

View file

@ -157,40 +157,7 @@ namespace Yavsc.Controllers
// only set explicit expiration here if user chooses "remember me".
// otherwise we rely upon expiration configured in cookie middleware.
AuthenticationProperties props = null;
if (AccountOptions.AllowRememberLogin && model.RememberLogin)
{
props = new AuthenticationProperties
{
IsPersistent = true,
ExpiresUtc = DateTimeOffset.UtcNow.Add(AccountOptions.RememberMeLoginDuration),
// Parameters =
};
};
// roles
var roles = _dbContext.UserRoles.Where(r=>r.UserId == user.Id).ToArray();
// issue authentication cookie with subject ID and username
List<Claim> additionalClaims = new List<Claim>();
foreach (var role in roles)
{
var idRole = await _roleManager.Roles.SingleOrDefaultAsync(i=>i.Id == role.RoleId);
if (idRole != null)
{
additionalClaims.Add(new Claim(ClaimTypes.Role, idRole.Name));
}
}
additionalClaims.Add(new Claim(ClaimTypes.Name, user.UserName));
var isUser = new IdentityServerUser(user.Id)
{
DisplayName = user.UserName,
AdditionalClaims = additionalClaims.ToArray()
};
await HttpContext.SignInAsync(isUser, props);
await HttpContext.SignInAsync(user, _roleManager, model.RememberLogin,_dbContext);
if (context != null)
{
@ -231,7 +198,6 @@ namespace Yavsc.Controllers
return View(vm);
}
/// <summary>
/// Show logout page
/// </summary>

View file

@ -392,13 +392,13 @@ namespace Yavsc.Controllers
return RedirectToAction(nameof(Index), new { Message = ManageMessageId.Error });
}
public IActionResult ChangeUserName()
public IActionResult SetUserName()
{
return View(new ChangeUserNameViewModel() { NewUserName = User.Identity.Name });
return View(new SetUserNameViewModel() { UserName = User.Identity.Name });
}
[HttpPost]
public async Task<IActionResult> ChangeUserName(ChangeUserNameViewModel model)
public async Task<IActionResult> SetUserName(SetUserNameViewModel model)
{
if (!ModelState.IsValid)
{
@ -409,7 +409,7 @@ namespace Yavsc.Controllers
{
var oldUserName = user.UserName;
var result = await this._userManager.SetUserNameAsync(user, model.NewUserName);
var result = await this._userManager.SetUserNameAsync(user, model.UserName);
if (result.Succeeded)
{
@ -418,7 +418,7 @@ namespace Yavsc.Controllers
Path.Combine(_siteSettings.Blog,
oldUserName));
var newdir = Path.Combine(_siteSettings.Blog,
model.NewUserName);
model.UserName);
if (userdirinfo.Exists)
userdirinfo.MoveTo(newdir);
// Renames the Avatars files
@ -429,7 +429,7 @@ namespace Yavsc.Controllers
oldUserName+s));
if (fi.Exists)
fi.MoveTo(Path.Combine(_siteSettings.Avatars,
model.NewUserName+s));
model.UserName+s));
}
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation(3, "User changed his user name successfully.");