Browse Source

Merge pull request #246 from abpframework/main

Update azure-pipeline branch
pull/247/head^2
selman koc 2 years ago
committed by GitHub
parent
commit
114f8c4274
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 16
      delete-bin-obj-folders.bat
  2. 21
      delete-temp-directories.bat
  3. 30
      services/identity/src/EShopOnAbp.IdentityService.Application/UserLoggedInEventHandler.cs

16
delete-bin-obj-folders.bat

@ -1,16 +0,0 @@
@ECHO off
cls
ECHO Deleting all BIN and OBJ folders...
ECHO.
FOR /d /r . %%d in (bin,obj, logs, node_modules) DO ((
ECHO.Deleting: %%d
rd /s/q "%%d"
)
)
)
ECHO.
ECHO.BIN and OBJ folders have been successfully deleted. Press any key to exit.
pause > nul

21
delete-temp-directories.bat

@ -0,0 +1,21 @@
@echo off
cls
set directories= bin, obj, logs, node_modules
set /a count = 0
echo Deleting all following directories:
for %%d in (%directories%) do echo %%d
echo.
for /d /r . %%d in (%directories%) do if exist "%%d" (
echo. Deleting: %%d
rd /s/q "%%d"
set /a count += 1
)
echo.
echo The specified directories were successfully scanned.
echo Number of deleted directories: %count%
echo Press any key to exit.
pause > nul

30
services/identity/src/EShopOnAbp.IdentityService.Application/UserLoggedInEventHandler.cs

@ -1,8 +1,11 @@
using System.Threading.Tasks;
using System.Linq;
using System.Threading.Tasks;
using EShopOnAbp.IdentityService.ETOs;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Logging;
using Volo.Abp;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.Identity;
using Volo.Abp.Uow;
@ -13,16 +16,22 @@ public class UserLoggedInEventHandler : IDistributedEventHandler<UserLoggedInEto
{
private readonly IdentityUserManager _userManager;
private readonly ILogger<UserLoggedInEventHandler> _logger;
private readonly IIdentityUserRepository _identityUserRepository;
private readonly ILookupNormalizer _lookupNormalizer;
public UserLoggedInEventHandler(IdentityUserManager userManager, ILogger<UserLoggedInEventHandler> logger)
public UserLoggedInEventHandler(IdentityUserManager userManager,
ILogger<UserLoggedInEventHandler> logger,
IIdentityUserRepository identityUserRepository,
ILookupNormalizer lookupNormalizer)
{
_userManager = userManager;
_logger = logger;
_identityUserRepository = identityUserRepository;
_lookupNormalizer = lookupNormalizer;
}
[UnitOfWork]
public async virtual Task HandleEventAsync(UserLoggedInEto eventData)
public virtual async Task HandleEventAsync(UserLoggedInEto eventData)
{
if (eventData == null)
{
@ -59,8 +68,15 @@ public class UserLoggedInEventHandler : IDistributedEventHandler<UserLoggedInEto
// This should run once to sync the admin userIds that seeded by IdentityModule and the Keycloak admin
if (userInfo.UserName == "admin")
{
var adminUser = await _userManager.FindByNameAsync("admin");
await _userManager.DeleteAsync(adminUser);
var normalizedName = _lookupNormalizer.NormalizeName(userInfo.UserName);
var adminUser = await _identityUserRepository.FindByNormalizedUserNameAsync(normalizedName);
foreach (var role in adminUser.Roles.ToList())
{
user.AddRole(role.RoleId);
}
// Hard delete the admin-user
await _identityUserRepository.HardDeleteAsync(adminUser, true);
}
var result = await _userManager.CreateAsync(user);

Loading…
Cancel
Save