11
SignalR을 사용하여 MVC3 애플리케이션에서 클라이언트의 클릭을 처리하고 있습니다.컨트롤러 외부에서 로그인 한 사용자에게 어떻게 액세스합니까?
사용자가 뭔가를 클릭 할 때마다 로그인 한 사용자를 확인해야합니다. 이것이 MVC3 컨트롤러 내부에 있다면
, 나는 갈 것 :
if (User.Identity.IsAuthenticated)
{
string username = User.Identity.Name;
//My code here.
}
그러나,이 코드 실행은 Controller 클래스 내에서이 아니다.
기본적으로 컨트롤러 외부에서 로그인 한 사용자 이름에 액세스하려면 어떻게해야합니까?
나는 그것을 HttpContext.Current를 사용하여 시험해 보았다. 당신이 묘사하는 몇 가지 함정은 무엇입니까? 컨텍스트가 null 일 때 어떻게됩니까? 왜 내가 이것을 사용하지 말라고 권유합니까? –
@Sergio Tapia, 실행중인 코드가 예를 들어 일부 백그라운드 스레드에 있으면 컨텍스트가 null이됩니다. 당신은 내 질문에 대답하지 않았다.이 정보에 어디에서 접근하려고 하는가? –
아하, 당신이 말하는 것을 본다. Context는 Hub 클래스의 일부이다. 너가 말하는게 이거니? 나는'HttpContext' 대신'Context'를 사용해야합니까? –