2009-11-21 6 views
2

asp.net mvc (C#) 응용 프로그램의 사용자 지정 특성 OnAuthorization에서 인증 쿠키를 설정하려고합니다.사용자 지정 특성 OnAuthorization의 FormsAuthentication.SetAuthCookie

세션이 만료 될 때 (새 세션), 사용자가 로그 아웃 할 때까지 인증 쿠키를 다시 설정합니다.

내가

//set forms auth cookie 
FormsAuthentication.SetAuthCookie(strUserName, true); 

을 인증 쿠키를 설정하려면 다음을 사용했다하지만 난이 HttpContext.User.Identity.IsAuthenticated을 확인할 때, 그것은 false를 반환합니다.

사용자 지정 특성의 OnAuthorization에서 인증 쿠키를 설정하는 방법은 무엇입니까? 당신이 자동으로 Context.User가 채워되지 않습니다

답변

1

정식 쿠키를 설정 한 후, 당신은 같은 작업을 수행해야합니다 strUserNameIsAuthenticated 반환하기에 null이 아닌 비어 있지해야

Context.User = new GenericPrincipal (new GenericIdentity (strUserName, "Forms"), null); 

사실. 다음 요청에서 Context.UserFormsAuthenticationModule으로 설정해야하며 아무 것도하지 않아도됩니다.

+0

나는 그것을 사용했다, 그것은 현재 요청을 위해 작동한다. 그러나 다음 페이지/다른 요청을 할 때. 요청이 인증되지 않았습니다. 제발 도와주세요. –

0

인증 쿠키를 설정 한 다음 새 페이지에서 IsAuthenticated를 확인한 후에 새 페이지로 리디렉션해야 할 수도 있습니다. 나는 이것이 일어나는 순서를 완전히 기억하지 못한다. 그러나 이것은 내가 가지고있는 문제를 생각 나게한다.

관련 문제