hn-dotnet/Apps/Website/HttpExecutingUserProvider.cs
2020-12-11 16:00:29 +01:00

25 lines
694 B
C#

using System;
using HN.Application;
using HN.Infrastructure;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
namespace Website
{
public sealed class HttpExecutingUserProvider : IExecutingUserProvider
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly UserManager<User> _userManager;
public HttpExecutingUserProvider(IHttpContextAccessor httpContextAccessor, UserManager<User> userManager)
{
_httpContextAccessor = httpContextAccessor;
_userManager = userManager;
}
public Guid GetCurrentUserId()
{
return Guid.Parse(_userManager.GetUserId(_httpContextAccessor.HttpContext.User));
}
}
}