Мы размещаем серверное приложение Blazor на IIS. Это приложение типа веб-портала. Пул приложений, в котором запущено это приложение, работает как учетная запись службы, имеющая доступ к нашему API.
Однако есть некоторые части этого API, которые должны быть задействованы отдельными пользователями. Это тип ресурса, к которому пользователи должны иметь доступ только к своему собственному ресурсу и не иметь возможности просматривать чужие. Следовательно, почему нам нужно получить к нему доступ через учетную запись пользователя, а не через учетную запись службы.
На стороне портала (приложение Blazor) как мы можем выдать себя за пользователя, который фактически запускает браузер? Прямо сейчас этот код var user = System.Security.Principal.WindowsIdentity.GetCurrent();
просто получает учетную запись службы, на которой запущен пул приложений.