Потеря полезной информации AppDomain в сценарии с балансировкой нагрузки - PullRequest
0 голосов
/ 01 августа 2020

Я использую полезную информацию из HttpContext и ClaimsIdentity в памяти AppDomain на сервере LoadBalanced. Он недоступен на других серверах LoadBalanced, даже если сеанс хранится в outProc / SqlServer. Ниже приведен код MVC. Net 5, указывающий c для каждого сервера LoadBalanced:

@using Microsoft.AspNet.Identity
@using System.Security.Claims
@using ClaimTypes = System.IdentityModel.Claims.ClaimTypes

((ClaimsIdentity)User.Identity).FindFirstValue(ClaimTypes.GivenName)
@HttpContext.Current.User.IsInRole("RoleName")

Я знаю, что есть другие способы доступа к RoleName и GivenName (например, из БД). Но есть ли способ поделиться этой удобной информацией (HttpContext.Current.User и User.Identity) между серверами LoadBalanced? Если нет, как лучше всего поделиться этой информацией между серверами LoadBalanced?

1 Ответ

0 голосов
/ 02 августа 2020

Ввод MachineKey в webconfig серверов с балансировкой нагрузки решает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...