Как я могу получить доступ к имени вошедшего в систему пользователя из-за пределов контроллера?
Это зависит от того, где вы хотите получить к ним доступ.Если у вас нет доступа к HttpContext
, вы всегда можете попробовать HttpContext.Current.User
и молиться о том, чтобы он не был нулевым по какой-то причине, например, из-за другого потока или чего-то еще.Это особенно возможно с SignalR, который зависит от задач и большого количества асинхронной обработки.Если он находится в хабе SignalR, у вас есть доступ к пользователю:
public class Chat: Hub
{
public void Foo()
{
string username = Context.User.Identity.Name;
}
}
Лично я бы не рекомендовал вам использовать HttpContext.Current
.В зависимости от того, что именно вы пытаетесь достичь и где я гарантирую вам, что есть лучшие способы.