Table of Contents

Class ImpersonationService

Namespace
Ando.Server.Services
Assembly
Ando.Server.dll

Implementation of user impersonation using session storage.

public class ImpersonationService : IImpersonationService
Inheritance
ImpersonationService
Implements
Inherited Members

Constructors

ImpersonationService(IHttpContextAccessor, UserManager<ApplicationUser>, SignInManager<ApplicationUser>, ILogger<ImpersonationService>)

public ImpersonationService(IHttpContextAccessor httpContextAccessor, UserManager<ApplicationUser> userManager, SignInManager<ApplicationUser> signInManager, ILogger<ImpersonationService> logger)

Parameters

httpContextAccessor IHttpContextAccessor
userManager UserManager<ApplicationUser>
signInManager SignInManager<ApplicationUser>
logger ILogger<ImpersonationService>

Properties

ImpersonatedUserId

Gets the impersonated user ID if impersonating, null otherwise.

public int? ImpersonatedUserId { get; }

Property Value

int?

IsImpersonating

Checks if the current session is an impersonation session.

public bool IsImpersonating { get; }

Property Value

bool

OriginalAdminId

Gets the original admin user ID if impersonating, null otherwise.

public int? OriginalAdminId { get; }

Property Value

int?

Methods

StartImpersonationAsync(int, int)

Starts impersonating a user. Stores the original admin ID in session.

public Task<bool> StartImpersonationAsync(int adminUserId, int targetUserId)

Parameters

adminUserId int
targetUserId int

Returns

Task<bool>

StopImpersonationAsync()

Stops impersonation and restores the original admin session.

public Task<bool> StopImpersonationAsync()

Returns

Task<bool>